PDA

View Full Version : ساخت پایگاه داده SQLite



zzyaser
یک شنبه 03 شهریور 1392, 16:25 عصر
سلام دوستان
می خوام یه پایگاه داده SQLite بسازم اما راه کارشو نمی دونم
میشه یکی از دوستان روششو قدم به قدم واسم توضیح بده؟
ممنون میشم

hamyd_reza
یک شنبه 03 شهریور 1392, 17:01 عصر
----------

zzyaser
یک شنبه 03 شهریور 1392, 17:06 عصر
دقیقا دیتای آماده
ینی دیتا رو آماده کنم تووسیستم و بعد وارد اپلیکیشنم کنم

hamyd_reza
یک شنبه 03 شهریور 1392, 17:20 عصر
----------

zzyaser
یک شنبه 03 شهریور 1392, 17:31 عصر
ممنون اما ابزاری که شما واسه ی ساخت پایگاه داده نام بردین نوع short و byte و ... غیره رو پشتیبانی نمیکنه
آیا ابزار قوی تری میشناسین که برای یک رکورد نوع short و byte و ...رو پشتیبانی کنه؟

hamyd_reza
یک شنبه 03 شهریور 1392, 17:40 عصر
----------

abbasalim
یک شنبه 03 شهریور 1392, 18:18 عصر
اینجا رو هم یه نگاه بندازین :
http://www.esfandune.ir/category/learn/%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3sqlite/

jafaripur
یک شنبه 03 شهریور 1392, 23:13 عصر
short & byte نداره Sqlite .
byte همون blob هستش .
بهترین برنامه هم برای ساختش برنامه navicat هستش که تو سایت p30download.com جستجو کن پیدا می کنی .

zzyaser
یک شنبه 10 شهریور 1392, 11:08 صبح
سلام
من پروژه ای ساختم که دارای کلاس DataBaseHelper() و تمام اعمال کپی دیتابیس در اینجاانجام میشه

public DataBaseHelper(Context context){
super(context, DB_NAME, null, 1);
if(android.os.Build.VERSION.SDK_INT >= 4.2){
DB_PATH = context.getApplicationInfo().dataDir + "/databases/";
} else {
DB_PATH = MyApplication.getAppContext().getFilesDir().getPat h() + context.getPackageName() + "/databases/";
}
this.myContext = context;
}

public void createDatabase() throws IOException{
boolean dbExist = checkDataBase();
if(dbExist){
// do nothing
}else{
this.getReadableDatabase();
try{
File f = new File(DB_PATH);
f.mkdir();
copyDataBase();
}catch(IOException e){
throw new Error("Error coping data base");
}
}
}

private void copyDataBase() throws IOException{
// TODO Auto-generated method stub
/*String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)){
File file = new File(Environment.getExternalStorageDirectory(), "/myDBName.db");
if(file.exists()){*/
databaseExist = true;
InputStream is = myContext.getAssets().open(DB_NAME)/*new FileInputStream(file)*/;
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1204];
int length;
while((length = is.read(buffer)) > 0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
is.close();
/*}else{
Log.e("copyDataBase() function", "Database don't exist");
}
}*/
}

public void openDataBase()throws SQLException{
String myPath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
Log.i("in DataBaseHelper in openDataBase method", "after opening database");
}

@Override
public synchronized void close() {
// TODO Auto-generated method stub
if(myDataBase != null)
myDataBase.close();
super.close();
}

private boolean checkDataBase() {
// TODO Auto-generated method stub
SQLiteDatabase checkDB = null;
try{
String myPath = DB_PATH + DB_NAME;
Log.i("DataBaseHelper", "in checkDataBase method, befor openDatabase method");
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
Log.i("DataBaseHelper", "in checkDataBase method, database is opened");
}catch(SQLiteException e){
}
if(checkDB != null)
checkDB.close();
return checkDB != null ? true : false;
}

وقتی دیتابیس رو در فولدر asset میریزم و پروژه رو ران می کنم دیتابیس ایجاد و کپی میشه اما پس از این کارها این ارور رو میده:
Error opening track file: such file or firectory(2)
کسی می تونه راهنماییم کنه مشکل از کجاست؟

ho.yasreby
سه شنبه 28 آبان 1392, 12:04 عصر
از نرم افزار زیر استفاده کنید



SharpPlus.Sqlite.Developer.v3.9.4.519