انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از دیتابیس پیش ساخته (قبلا دیتابس پر شده است)

استفاده از دیتابیس پیش ساخته (قبلا دیتابس پر شده است)

#1
 
کد پی‌اچ‌پی:
public class Main extends Activity {
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.main);
        
        
String DATABASE_NAME "db.db";    
        
String TABLE_NAME "dbtb";   
   
        try{
            
SQLiteDatabase db openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
            
db.execSQL("CREATE TABLE IF  NOT EXISTS "TABLE_NAME +" (id INTEGER PRIMARY KEY NOT NULL, name TEXT, email TEXT);");
            
db.close();
        }catch(
Exception e){
            
Toast.makeText(getApplicationContext(), "Error in creating table" Toast.LENGTH_LONG).show();
        }
        
        

        try {
            
String destPath "/data/data/" getPackageName() +
                
"/databases";
            
File f = new File(destPath);
            if (!
f.exists()) {                
                
f.mkdirs();
                
f.createNewFile();
                
                
//---copy the db from the assets folder into 
                // the databases folder---
                
CopyDB(getBaseContext().getAssets().open("mydb"),
                    new 
FileOutputStream(destPath "/MyDB"));
            }
        } catch (
FileNotFoundException e) {
              
Toast.makeText(getApplicationContext(), "FileNotFoundException" Toast.LENGTH_LONG).show();
        } catch (
IOException e) {
              
Toast.makeText(getApplicationContext(), "FileNotFoundException" Toast.LENGTH_LONG).show();
        }  
         
        
        
        
        
        
        
        
        
        
        
        
        
        try{
            
SQLiteDatabase db openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
            
Cursor allrows  db.rawQuery("SELECT * FROM "+  TABLE_NAMEnull);
            if(
allrows.moveToFirst()==false){  Toast.makeText(getApplicationContext(),"?"Toast.LENGTH_LONG).show();}
            if(
allrows.moveToFirst()){
                do{
                    
String ID allrows.getString(0);
                    
String NAME allrows.getString(1);
                    
String CITY allrows.getString(2);
                           
                    
// Show values with Toast
                    
Toast.makeText(getApplicationContext(), IDToast.LENGTH_LONG).show();
                    
Toast.makeText(getApplicationContext(), NAMEToast.LENGTH_LONG).show();
                    
Toast.makeText(getApplicationContext(), CITYToast.LENGTH_LONG).show();
                }
                while(
allrows.moveToNext());
            }
            
db.close();
        }catch(
Exception e){
            
Toast.makeText(getApplicationContext(), "Error"Toast.LENGTH_LONG).show();
        }    
        
          
          
           
           
           
           
           
           
           
           
    }
//oncreate
     
public void CopyDB(InputStream inputStream
                
OutputStream outputStreamthrows IOException {
                    
//---copy 1K bytes at a time---
                    
byte[] buffer = new byte[1024];
                    
int length;
                    while ((
length inputStream.read(buffer)) > 0) {
                        
outputStream.write(buffer0length);
                    }
                    
inputStream.close();
                    
outputStream.close();
                }
    

فایل mydb (دیتابیس) رو تو پوشه ی assetsگذاشتم
وقتی اجرا میکنم دیتابس خونده نمی شه
لطفا راهنمایییم کنید مشکل از کجاست؟

 
پاسخ

استفاده از دیتابیس پیش ساخته (قبلا دیتابس پر شده است)

#2
یعنی چی خونده نمیشه ؟ پیغام خطا میده و یا برنامه کرش میکنه ؟ لطفا کامل توضیح بدید
پاسخ

استفاده از دیتابیس پیش ساخته (قبلا دیتابس پر شده است)

#3
(۱۳۹۳/۱۱/۲۷, ۰۱:۲۹ ب.ظ)'gilar' نوشته: یعنی چی خونده نمیشه ؟ پیغام خطا میده و یا برنامه کرش میکنه ؟ لطفا کامل توضیح بدید



 

دیتابیسی که با sqlite manager ساختم شامل سه ستون( id-name-email) هست که پرش کردم
حالا از برنامه انتظار داشتم که با intent اونا رو نشون بده ولی بدون هیچ اررووی نشون نداد فقط کد زیر اجرا میشودکد php:
کد پی‌اچ‌پی:
if(allrows.moveToFirst()==false){  Toast.makeText(getApplicationContext(),"?"Toast.LENGTH_LONG).show();} 
 


 یعنی فقط در یک  toast " ?" نمایش داده می شود ولی محتویات پایگاه داده نماش داده نمی شود

 

 
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان