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 کنم اما میتونم داده هاشو بخونم و باهاش کار کنم اما نمیشه داده جدید داخلش بریزم
به نظر شما مشکل کجاست
مرسی
من دیتابیس رو با این کد ایجاد میکنم
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 کنم اما میتونم داده هاشو بخونم و باهاش کار کنم اما نمیشه داده جدید داخلش بریزم
به نظر شما مشکل کجاست
مرسی