PDA

View Full Version : کمک فوری در رابطه با دیتا بیس



imans100
یک شنبه 19 دی 1395, 18:44 عصر
سلام دوستان با این دیتا بیس من به یه مشکل خوردم که دیگه کلافه شدم لطفا منو راهنمایی کنید
من دیتابیس رو با این کد ایجاد میکنم
SQLiteDatabase mydb = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,null);
mydb.execSQL("CREATE TABLE IF NOT EXISTS "+ TABLE_NAME +" (ID INTEGER PRIMARY KEY,COD NUMBER ,NAME CHARACTER,COMPANY TEXT, MIANGIN NUMBER,MEGHDAR NUMBER,DATE NUMBER,EXP NUMBER,MOJODI NUMBER,FOROSH NUMBER,MARJO NUMBER,KASRI NUMBER);");

mydb.close();}
catch(Exception e){
Toast.makeText(getApplicationContext(), "Error in creating table", Toast.LENGTH_LONG).show();
}
بدون استفاده از کلاس جدا.تا اینجا کار مشکل نیست دیتابیس ایجاد میشه و با دستور insert میتونی با هاش کار کنی
SQLiteDatabase mydb=openOrCreateDatabase(DATABASE_NAME,SQLiteData base.OPEN_READWRITE, null);

mydb.execSQL("INSERT INTO " + TABLE_NAME + " (COD, NAME, COMPANY, MEGHDAR, DATE, EXP, MOJODI) VALUES ("+cod+",'"+name+"','"+company+"',"+meghdar+","+date+","+exp+","+mojodi+")");
mydb.close();
}
catch(Exception e){
Toast.makeText(getApplicationContext(), "Error insert unice date.", Toast.LENGTH_LONG).show();
}

اما زمانی که دیتا بیس رو آماده میکنی ودر پوشه assets قرار میدم و با کد زیر در گوشی کپی میکنم
try{


InputStream mInput = getApplicationContext().getAssets().open(DB_NAME_A SSET);
String outFileName = DB_PATH + DB_NAME_ASSET;


OutputStream mOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int size;
while ((size = mInput.read(buffer)) > 0){
mOutput.write(buffer, 0, size);
}

mOutput.flush();
mOutput.close();
mInput.close();}catch(Exception e)
{Toast.makeText(getApplicationContext(), "gggggfgggggggggggggggggg", Toast.LENGTH_LONG).show();




}
دیگه نمی تونم داخل دیتابیس چیزی insert کنم اما میتونم داده هاشو بخونم و باهاش کار کنم اما نمیشه داده جدید داخلش بریزم
به نظر شما مشکل کجاست
مرسی

imans100
دوشنبه 20 دی 1395, 06:00 صبح
سلام کسی نیست منو راهنمایی کنه:افسرده:

kingsezar
دوشنبه 20 دی 1395, 07:59 صبح
سلام . کد insert رو میزاری دوست عزیز ؟

imans100
دوشنبه 20 دی 1395, 19:51 عصر
سلام . کد insert رو میزاری دوست عزیز ؟


mydb.execSQL("INSERT INTO " + TABLE_NAME + " (COD, NAME, COMPANY, MEGHDAR, DATE, EXP, MOJODI) VALUES ("+cod+",'"+name+"','"+company+"',"+meghdar+","+da te+","+exp+","+mojodi+")");

mydb.close();

}

catch(Exception e){

Toast.makeText(getApplicationContext(), "Error insert unice date.", Toast.LENGTH_LONG).show();

}

Alireza_Ar1
دوشنبه 20 دی 1395, 23:40 عصر
سلام . ببین لینک زیر میتونه کمکت کنه ؟

http://www.kelidestan.com/keys/keys.php?key=848

برای خطایابی بهتره از کد دستوری Log استفاده کنی بجای Toast چون راحتر و بهتر میتونه کمکت کنه .

kingsezar
سه شنبه 21 دی 1395, 08:41 صبح
mydb.execSQL("INSERT INTO " + TABLE_NAME + " (COD, NAME, COMPANY, MEGHDAR, DATE, EXP, MOJODI) VALUES ("+cod+",'"+name+"','"+company+"',"+meghdar+","+da te+","+exp+","+mojodi+")");

mydb.close();

}

catch(Exception e){

Toast.makeText(getApplicationContext(), "Error insert unice date.", Toast.LENGTH_LONG).show();

}

قسمتی که code رو نوشتی داخل کتیشن نزاشتی !!!
VALUES ('"+cod+"'

imans100
پنج شنبه 23 دی 1395, 20:54 عصر
مرسی از راهنمایت اما من اشتباه کد insert گذاشتم کد اصلیش اینه
mydb.execSQL("INSERT INTO " + TABLE_NAME + " (COD, NAME, COMPANY, MEGHDAR, DATE, EXP, MOJODI) VALUES ("+cod+",'"+name+"','"+company+"',"+meghdar+","+date+","+exp+","+mojodi+")");
mydb.close();
این کد ایراد نداره چون موقعی که از کد کپی استفاده نمی کنم کد بدون ارور کار میکنه اما زمانی که دیتابیس رو کپی میکنم دیگه داخلش چیزی اضافه نمیشه و ارو میده