نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
سلام دوستان هرکی میتونه کمکم که دوماهه خداشاهده دارم کلنجار میرم این برنامه درست نمیشه هرکی بتونه کمکم کنه بخدا دستشو از اینجا میبوسم دیگه داره مخم سوت میکشه دیگه شک افتاده بهم که اشکال از برنامه نیست اشکال از اندروید استودیو منه.نمیدونم هرکی میتونه کمک کنه فقط .برنامشم اینه که اطلاعات رو از کاربر میگیره ثبت میکنه تو دیتابیس
این از کلاس مدیریت دیتابیس:
package mehrsoft.com.app3;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseManagment extends SQLiteOpenHelper {
public DataBaseManagment(Context context) {
super(context, "DbTest", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String Q_CreateTable="CREATE TABLE T_Users ( "+
" UserId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"+
" Name VARCHAR NOT NULL,"+
" Age INT,"+
" Avg REAL);";
db.execSQL(Q_CreateTable);
db.close();
}
public boolean AddUser(User u)
{
try{
SQLiteDatabase db=this.getWritableDatabase();
String Q1="Insert INTO T_Users(Name,Age,Avg)Values('"+u.Name+"',"+u.Age+","+u.Avg+")";
db.execSQL(Q1);
db.close();
return true;
}
catch(Exception ex)
{
return false;
}
}
public User GetUser(int id)
{
User k=new User();
SQLiteDatabase db=this.getReadableDatabase();
String Q1="Select * From T_Users where UserId="+id;
Cursor C1=db.rawQuery(Q1,null);
if(C1.moveToFirst()==true)
{
k.Id=C1.getInt(0);
k.Name=C1.getString(1);
k.Age=C1.getInt(2);
k.Avg=C1.getDouble(3);
}
return k;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
این از کلاس مدل :
package mehrsoft.com.app3;
public class User {
public int Id;
public String Name;
public int Age;
public double Avg;
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــ
اینم از Main activity:
package mehrsoft.com.app3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button btnregister;
Button btnsearch;
EditText edtname;
EditText edtid;
EditText edtage;
EditText edtsearch;
TextView txt1;
DataBaseManagment db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnregister = (Button) findViewById(R.id.btnregister);
btnsearch = (Button) findViewById(R.id.btnsearch);
edtname = (EditText) findViewById(R.id.edtname);
edtid = (EditText) findViewById(R.id.edtid);
edtage = (EditText) findViewById(R.id.edtage);
edtsearch = (EditText) findViewById(R.id.edtsearch);
txt1 = (TextView) findViewById(R.id.txt1);
btnregister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db=new DataBaseManagment(MainActivity.this);
User u=new User();
u.Name=edtname.getText().toString();
u.Age=Integer.parseInt(edtage.getText().toString());
u.Avg=Double.parseDouble(edtid.getText().toString());
boolean f= db.AddUser(u);
if (f==true){
Toast.makeText(MainActivity.this,"sabt shod",Toast.LENGTH_LONG).show();;
}
else {
Toast.makeText(MainActivity.this,"erororor",Toast.LENGTH_LONG).show();;
}
}
});
btnsearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=Integer.parseInt(edtid.getText().toString());
User u=db.GetUser(id);
if (u.Id!=0){
txt1.setText(u.Age+" "+u.Avg+""+u.Name);
}
else {
Toast.makeText(MainActivity.this,"پیدا نشد",Toast.LENGTH_LONG).show();
txt1.setText("");
}
}
});
}
}
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
در ضمن بگم هیچ اروری نداره موقع اجرا فقط ثبت نمیکنه اطلاعات رو
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
نقل قول:
نوشته شده توسط
hamedjj
دیتابیس را باید تو پوشه databases و سپس تو پوشه asset قرار بدی
شما این کار را کردید؟
کسی نیست سوال منو جواب بده؟؟؟
من یه سایت پیدا کردم اموزش کامل Sqlite داره بصورت رایگان . گفتم به اشتراک بزارم شاید برای دوستان مفید باشه
http://mehrtash-souri.com/article/6/...2%D8%B4-SQLite
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
سلام
یه برنامه میخام بنویسم که یه دیتابیس داشته باشم و دریافت و پرداخت های چند نفر رو بتونم توش ذخیره کنم
تعداد نفرات ممکته کم یا زیاد بشه
ستون های دیتابیس :
نام فرد - مبلغ دریافتی - مبلغ پرداختی - تاریخ
حالا سوال اینجاست برای ذخیره کردن کلیه تراکنش های یه نفر از ستون های همین دیتابیس استفاده کنم ؟ یا برای هر نفر یه دیتابیس جدا ؟ یا چی ؟ به طوری که بتونم گزارش کامل از تراکنش ها داشته باشم ؟
مثلا فرض کنید نفر اول اسمش علی هست و در ده تا تاریخ مختلف مبالغی برداشت و پرداخت کرده
میخام طوری باشه که هر وقت علی پول پرداخت یا دریافت کرد این تاریخ و مبلغ رو یه جا ذخیره کنم . حالا کجا باید ذخیره بشه ؟
..............
یا مثلا تو این برنامه های مدیریت دخل و خرج ، مثلا هزینه هایی که برای بنزین قراره ثبت بشه (به همراه تاریخش ) به چه صورت و در چه متغیرهایی ذخیره میشه ؟
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
من با این کد :
mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
mydb.execSQL("INSERT INTO " + TABLE + "(NAME, PLACE) VALUES('یک دو سه','امتحان')");
یه جدول ساختم ولی نمیتونم اطلاعات واردش کنم ......
میشه سایتم را ببینید
نقل قول: آموزش : کار با دیتابیس SQLite به زبان ساده بدون نیاز به کلاس DataBaseHelper
دوستان یه سوال! با نرم افزار DB Browser یه دیتابیس ساختم، هیچ مشکلی هم نداره در برنامه. حالا دیتابیس رو از همون DB Browser رمزگذاری کردم، توی برنامه اصلی باید چه کدی بنویسم که رمز رو بهش نشون بدم؟ در واقع چطوری از دیتابیس خارجی رمزدار استفاده کنم؟