mahdilotfi 0 ارسال شده در 21 بهمن، ۱۳۹۶ اشتراک گذاری ارسال شده در 21 بهمن، ۱۳۹۶ سلام من با استفاده از پایگاه داده خواستم یه کتاب بسازم تا نوشتن کد کپی پایگاه داده در حافظه گوشی همه چیز خوب کار میکنه : IF File.Exist(File.DirInternal , "database.db") = False Then File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db") End IF اما بعد از مقدار دهی sql با کد : (sql1.initialize ( file.dirinternal , "database.db" , false به محض کامپایل و اجرا تو شبیه ساز پیغام خطا میده و مینویسه 'متسفانه ........ متوقف شده است' خواهش میکنم کمک کنید نسخه b4a 7.80 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
asheune 70 ارسال شده در 22 بهمن، ۱۳۹۶ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ درود خطایی که میده رو بذار تا برسی بشه If File.Exists(File.DirInternal,"database.db")=False Then File.Copy(File.DirAssets,"database.db",File.DirInternal,"database.db") End If sql.Initialize(File.DirInternal,"database.db",False) الان من همین کد رو دارم استفاده میکنم بدون مشکل لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
qmars 38 ارسال شده در 22 بهمن، ۱۳۹۶ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ در 10 ساعت قبل، mahdilotfi گفته است : سلام من با استفاده از پایگاه داده خواستم یه کتاب بسازم تا نوشتن کد کپی پایگاه داده در حافظه گوشی همه چیز خوب کار میکنه : IF File.Exist(File.DirInternal , "database.db") = False Then File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db") End IF اما بعد از مقدار دهی sql با کد : (sql1.initialize ( file.dirinternal , "database.db" , false به محض کامپایل و اجرا تو شبیه ساز پیغام خطا میده و مینویسه 'متسفانه ........ متوقف شده است' خواهش میکنم کمک کنید نسخه b4a 7.80 با این چک کنید ببنید توی direxternal میشه ریخت یا نه If File.ExternalWritable = True Then اینم کدایی که من ازشون استفاده میکنم خود sql رو توی سرویس استارتر تعریف کنید و تو اون ازش استفاده کنید Sub existdb(dbname As String) If File.ExternalWritable = True Then If File.Exists( File.DirRootExternal,"Qdb/"&dbname) Then File.Delete( File.DirRootExternal,"Qdb/"&dbname) Log("deleted") File.Copy(File.DirAssets,dbname, File.DirRootExternal,"Qdb/"&dbname) ToastMessageShow("copied",False) Else File.MakeDir(File.DirRootExternal,"Qdb") If File.Exists( File.DirRootExternal,"Qdb") Then File.Copy(File.DirAssets,dbname, File.DirRootExternal,"Qdb/"&dbname) ToastMessageShow("copied",False) End If End If Else If File.Exists( File.DirInternal,"Qdb/"&dbname) Then File.Delete( File.DirInternal,"Qdb/"&dbname) Log("deleted") File.Copy(File.DirAssets,dbname, File.DirInternal,"Qdb/"&dbname) ToastMessageShow("copied",False) Else File.MakeDir(File.DirInternal,"Qdb") If File.Exists( File.DirInternal,"Qdb/"&dbname) Then File.Copy(File.DirAssets,dbname, File.DirInternal,"Qdb/"&dbname) ToastMessageShow("copied",False) End If End If End If End Sub Sub initdb(dbname As String) Log("ANSWER"&File.Exists( File.DirRootExternal,"Qdb/"&dbname)) If File.Exists( File.DirRootExternal,"Qdb/"&dbname) = True Then starter.sql.Initialize( File.DirRootExternal,"Qdb/"&dbname,False) Log("init:"&starter.sql.IsInitialized) End If End Sub تو کد بالا من اومدم اگه فایل وجود داشت پاکش کردم تا دیتابیس جدید رو بریزه اگه نیاز نداشتید اون قسمتشو بردارید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahdilotfi 0 ارسال شده در 22 بهمن، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ سلام کل کد ها : Sub Process_Globals Dim sql1 As SQL End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("layout1") If File.Exists(File.DirInternal , "database.db") = False Then File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db") sql1.Initialize(File.DirInternal , "database.db" , False) End Sub و پیغام های خطای بعد از کامپایل : *** Service (starter) Create *** ** Service (starter) Start ** ** Activity (main) Create, isFirst = true ** main_activity_create (java line: 344) android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:792) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669) at anywheresoftware.b4a.sql.SQL.Initialize(SQL.java:44) at b4a.example.main._activity_create(main.java:344) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186) at b4a.example.main.afterFirstLayout(main.java:102) at b4a.example.main.access$000(main.java:17) at b4a.example.main$WaitForLayout.run(main.java:80) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5019) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) خواهش میکنم کمک کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
qmars 38 ارسال شده در 22 بهمن، ۱۳۹۶ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ در 6 دقیقه قبل، mahdilotfi گفته است : سلام کل کد ها : Sub Process_Globals Dim sql1 As SQL End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("layout1") If File.Exists(File.DirInternal , "database.db") = False Then File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db") sql1.Initialize(File.DirInternal , "database.db" , False) End Sub و پیغام های خطای بعد از کامپایل : *** Service (starter) Create *** ** Service (starter) Start ** ** Activity (main) Create, isFirst = true ** main_activity_create (java line: 344) android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:792) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669) at anywheresoftware.b4a.sql.SQL.Initialize(SQL.java:44) at b4a.example.main._activity_create(main.java:344) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186) at b4a.example.main.afterFirstLayout(main.java:102) at b4a.example.main.access$000(main.java:17) at b4a.example.main$WaitForLayout.run(main.java:80) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5019) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) خواهش میکنم کمک کنید اگه با نویکت دیتابیستو ساختی sql3 رو امتحان کن منم یه همچین مشکلی داشتم گذاشتم رو sql3 برطرف شد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahdilotfi 0 ارسال شده در 22 بهمن، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ اس کیو ال 3 رو هم امتحان کردم اینیشالیز با موفقیت انجام میشه اما بعد از مقدار دهی متغیر cursor دوباره با همون مشکل مواجه میشم کل کدها : Sub Process_Globals Dim sql1 As SQL End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("layout1") If File.Exists(File.DirInternal , "database.db") = False Then File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db") sql1.Initialize(File.DirInternal , "database.db" , False) Dim cur As Cursor cur = sql1.ExecQuery("SELECT * FROM table") End Sub کد های خطا : *** Service (starter) Create *** ** Service (starter) Start ** ** Activity (main) Create, isFirst = true ** main_activity_create (java line: 348) android.database.sqlite.SQLiteException: no such table: book2 (code 1): , while compiling: SELECT * FROM book2 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253) at anywheresoftware.b4a.sql.SQL.ExecQuery2(SQL.java:223) at anywheresoftware.b4a.sql.SQL.ExecQuery(SQL.java:211) at b4a.example.main._activity_create(main.java:348) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186) at b4a.example.main.afterFirstLayout(main.java:102) at b4a.example.main.access$000(main.java:17) at b4a.example.main$WaitForLayout.run(main.java:80) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5019) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
qmars 38 ارسال شده در 22 بهمن، ۱۳۹۶ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ میگه تیبلی به اسم book2 پیدا نمیکنه دیتابیستون رو چک کنید ببینید تیبلی به اسم دارید اصلا یا نه دقت کنید اسم تیبل رو باید بدید نه connection یا ستون و همونطور که گفتم توی استارتر سرویس تعریف کنید sql رو و از اونجا فراخوانی کنیدش strater.sql1 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahdilotfi 0 ارسال شده در 22 بهمن، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۶ خیلی خیلی ممنون درسته اسم جدول book بود نه book2 مشکلم حل شد خیلی ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
mahdilotfi 0
سلام من با استفاده از پایگاه داده خواستم یه کتاب بسازم
تا نوشتن کد کپی پایگاه داده در حافظه گوشی همه چیز خوب کار میکنه :
IF File.Exist(File.DirInternal , "database.db") = False Then
File.Copy(File.DirAssets , "database.db" , File.DirInternal , "database.db")
End IF
اما بعد از مقدار دهی sql با کد :
(sql1.initialize ( file.dirinternal , "database.db" , false
به محض کامپایل و اجرا تو شبیه ساز پیغام خطا میده و مینویسه 'متسفانه ........ متوقف شده است'
خواهش میکنم کمک کنید
نسخه b4a 7.80
لینک ارسال
به اشتراک گذاری در سایت های دیگر
7 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.