ورود

View Full Version : مشکل در اتصال به بانک اطلاعاتی



h_a_m_i_d
جمعه 28 فروردین 1394, 21:42 عصر
با سلام من از کلاس زیر که از یک پروژه دیگه کپی کردم برای اتصال به دیتا بیس استفاده میکنم ولی متاسفانه خطا میده کسی میتونه کمکم کنه خیلی ضروری هست

package com.example.thehamidandroid;



import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;






import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;




public class MyDatabase extends SQLiteOpenHelper {


public final String path = "data/data/com.example.thehamidandroid/databases/";
public final String Name = "dbapp";
public SQLiteDatabase mydb;
private final Context mycontext;




public MyDatabase(Context context) {
super(context, "dbapp", null, 1);
mycontext = context;
}




@Override
public void onCreate(SQLiteDatabase arg0) {


}




@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {


}




public void useable() {
boolean checkdb = checkdb();
if (checkdb) {


} else {
this.getReadableDatabase();
try {
copydatabase();
}
catch (IOException e) {


}
}
}




public void open() {
mydb = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READWRITE);
}




@Override
public void close() {
mydb.close();
}




public boolean checkdb() {
SQLiteDatabase db = null;
try {
db = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY);
}
catch (SQLException e) {


}
return db != null ? true : false;
}




public void copydatabase() throws IOException {


OutputStream myOutput = new FileOutputStream(path + Name);
byte[] buffer = new byte[1024];
int lenght;
InputStream myInput = mycontext.getAssets().open(Name);
while ((lenght = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, lenght);
}
myInput.close();
myOutput.flush();
myOutput.close();
}
public String namayesh(int row , int field , String table){


android.database.Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table , null);
Cursor.moveToPosition(row);
String str = Cursor.getString(field);
return str;
}
public Integer shomaresh_field(String table,String field){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" group by "+field, null);
int i = Cursor.getCount();
return i ;
}
public String namayesh_fasl(String table , int row){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" group by season", null);
Cursor.moveToPosition(row);
String s = Cursor.getString(4);
return s ;
}


public Integer shomaresh_dastan (String table , String season){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+season+"' group by name", null);
int s = Cursor.getCount();
return s;


}


public String namayesh_dastan (String table , int row , String season , int field){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' group by name",null);
Cursor.moveToPosition(row);
String save = Cursor.getString(field);
return save;


}


public Integer shomaresh_safhe_dastan (String table , String season , String story){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+story+"'",null);
int save = Cursor.getCount();
return save;
}
public String namayesh_matn (String table,String season,String name,int page){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+name+"' and page="+page,null);
Cursor.moveToFirst();
String save = Cursor.getString(2);
return save;
}


public String jostojoo(int row , int col , String word , String field){
Cursor cursor;
if (field.equals("name")) {
cursor = mydb.rawQuery("select * from datastorys where "+field+" like '%"+word+"%' group by name", null);
}else {
cursor = mydb.rawQuery("select * from datastorys where "+field+" like '%"+word+"%'", null);
}
cursor.moveToPosition(row);
String save = cursor.getString(col);
return save;
}


public Integer shmaresh_jostojoo(String word , String field){
Cursor cursor;
if (field.equals("name")) {
cursor = mydb.rawQuery("select * from datastorys where "+field+" like '%"+word+"%' group by name", null);
}else {
cursor = mydb.rawQuery("select * from datastorys where "+field+" like '%"+word+"%'", null);
}
int save = cursor.getCount();
return save;
}


public void beroozresani_doostdashtaniha (String table , String season , String name , String value){
ContentValues cv = new ContentValues();


cv.put("star", value);
mydb.update(table, cv, "season='"+season+"' and name='"+name+"'", null);
}


public Integer shomaresh_doosrdashtaniha(String table){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where star=1 group by name", null);
int save = Cursor.getCount();
return save;
}


public String namayesh_doosrdashtaniha(String table , int row , int field){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where star=1 group by name", null);
Cursor.moveToPosition(row);
String save = Cursor.getString(field);
return save;
}


}

h_a_m_i_d
جمعه 28 فروردین 1394, 21:49 عصر
04-17 18:00:31.076: E/Trace(10190): error opening trace file: No such file or directory (2)04-17 18:00:32.297: D/dalvikvm(10190): GC_CONCURRENT freed 128K, 9% free 2724K/2972K, paused 5ms+3ms, total 221ms
04-17 18:00:32.297: D/dalvikvm(10190): WAIT_FOR_CONCURRENT_GC blocked 92ms
04-17 18:00:32.386: I/dalvikvm-heap(10190): Grow heap (frag case) to 3.847MB for 1127536-byte allocation
04-17 18:00:32.476: D/dalvikvm(10190): GC_FOR_ALLOC freed 2K, 7% free 3822K/4076K, paused 87ms, total 88ms
04-17 18:00:32.526: D/dalvikvm(10190): GC_CONCURRENT freed <1K, 7% free 3830K/4076K, paused 5ms+4ms, total 56ms
04-17 18:00:32.786: D/gralloc_goldfish(10190): Emulator without GPU emulation detected.
04-17 18:01:02.166: D/dalvikvm(10190): GC_CONCURRENT freed 107K, 6% free 4236K/4460K, paused 4ms+26ms, total 90ms
04-17 18:01:02.166: D/dalvikvm(10190): WAIT_FOR_CONCURRENT_GC blocked 24ms
04-17 18:01:02.766: I/Choreographer(10190): Skipped 33 frames! The application may be doing too much work on its main thread.
04-17 18:01:05.486: E/SQLiteLog(10190): (1) no such table: TblContent
04-17 18:01:05.506: D/AndroidRuntime(10190): Shutting down VM
04-17 18:01:05.506: W/dalvikvm(10190): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
04-17 18:01:05.596: E/AndroidRuntime(10190): FATAL EXCEPTION: main
04-17 18:01:05.596: E/AndroidRuntime(10190): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.thehamidandroid/com.example.thehamidandroid.Pages}: android.database.sqlite.SQLiteException: no such table: TblContent (code 1): , while compiling: SELECT * FROM TblContent
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2180)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2230)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread.access$600(ActivityThre ad.java:141)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1234)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.os.Handler.dispatchMessage(Handler.java:99 )
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.os.Looper.loop(Looper.java:137)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread.main(ActivityThread.jav a:5041)
04-17 18:01:05.596: E/AndroidRuntime(10190): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 18:01:05.596: E/AndroidRuntime(10190): at java.lang.reflect.Method.invoke(Method.java:511)
04-17 18:01:05.596: E/AndroidRuntime(10190): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:793)
04-17 18:01:05.596: E/AndroidRuntime(10190): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:560)
04-17 18:01:05.596: E/AndroidRuntime(10190): at dalvik.system.NativeStart.main(Native Method)
04-17 18:01:05.596: E/AndroidRuntime(10190): Caused by: android.database.sqlite.SQLiteException: no such table: TblContent (code 1): , while compiling: SELECT * FROM TblContent
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteConnection.nativePre pareStatement(Native Method)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteConnection.acquirePr eparedStatement(SQLiteConnection.java:882)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteConnection.prepare(S QLiteConnection.java:493)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteSession.prepare(SQLi teSession.java:588)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteDirectCursorDriver.q uery(SQLiteDirectCursorDriver.java:44)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteDatabase.rawQueryWit hFactory(SQLiteDatabase.java:1314)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.database.sqlite.SQLiteDatabase.rawQuery(SQ LiteDatabase.java:1253)
04-17 18:01:05.596: E/AndroidRuntime(10190): at com.example.thehamidandroid.MyDatabase.namayesh(My Database.java:99)
04-17 18:01:05.596: E/AndroidRuntime(10190): at com.example.thehamidandroid.Pages.onCreate(Pages.j ava:35)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.Activity.performCreate(Activity.java:5 104)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1080)
04-17 18:01:05.596: E/AndroidRuntime(10190): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2144)
04-17 18:01:05.596: E/AndroidRuntime(10190): ... 11 more
04-17 18:01:05.756: D/dalvikvm(10190): GC_CONCURRENT freed 231K, 8% free 4540K/4892K, paused 6ms+22ms, total 187ms
04-17 18:01:05.756: W/SQLiteConnectionPool(10190): A SQLiteConnection object for database 'data/data/com.example.thehamidandroid/databases/dbapp' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
04-17 18:01:07.396: I/Process(10190): Sending signal. PID: 10190 SIG: 9
04-17 18:01:08.186: E/Trace(10223): error opening trace file: No such file or directory (2)
04-17 18:01:09.007: D/dalvikvm(10223): GC_CONCURRENT freed 132K, 9% free 2724K/2976K, paused 7ms+3ms, total 56ms
04-17 18:01:09.007: D/dalvikvm(10223): WAIT_FOR_CONCURRENT_GC blocked 15ms
04-17 18:01:09.017: I/dalvikvm-heap(10223): Grow heap (frag case) to 3.848MB for 1127536-byte allocation
04-17 18:01:09.067: D/dalvikvm(10223): GC_FOR_ALLOC freed 2K, 7% free 3823K/4080K, paused 42ms, total 42ms
04-17 18:01:09.316: D/gralloc_goldfish(10223): Emulator without GPU emulation detected.

h_a_m_i_d
جمعه 28 فروردین 1394, 21:55 عصر
130399
اینم از عکسش لطفا راهنمایی کنید ضروری هست

tux-world
شنبه 29 فروردین 1394, 07:21 صبح
دوست عزیز ببخشید ها ولی اگه هر سورسی رو هر کسی میتونست استفاده کنه بدون اینکه دانشی در موردش داشته باشه که الان همه برنامه نویس بودن:چشمک: شما جدول TblContent رو نساختید برای همین سعی دارید ازش کوئری بگیرید. مستندات اسکیولایت رو بخونید کدتون رو اصلا کنید

h_a_m_i_d
شنبه 29 فروردین 1394, 15:07 عصر
دوست عزیز ببخشید ها ولی اگه هر سورسی رو هر کسی میتونست استفاده کنه بدون اینکه دانشی در موردش داشته باشه که الان همه برنامه نویس بودن:چشمک: شما جدول TblContent رو نساختید برای همین سعی دارید ازش کوئری بگیرید. مستندات اسکیولایت رو بخونید کدتون رو اصلا کنید
داداشم این جدول رو ساختم و اشنا هستم با مبانی برنامه نویسی
حروف بزرگ و کوچیک و همه چیز هم رعایت شده اما بازم جواب نمیده

#root#
شنبه 29 فروردین 1394, 15:17 عصر
تو کلاس بالا یه مسیری برای دیتابیس نوشتین، برید اون رو چک کنید ببینید دیتابیس کپی شده یا نه؟ اگر دیتابیس هست ببینید کاملا کپی شده یا نه.

h_a_m_i_d
شنبه 29 فروردین 1394, 15:33 عصر
مشکل حل شد اسم جدول رو به این صورت وارد کردم main.TblContent دارم تست میکنم بازم ببینم کامل حل شده یا نه