رفتن به مطلب
  • 0

مشکل در هنگام اجرای برنامم.فک کنم مشکل از دیتابیس هستش


golabam

سوال

سلام دوستان مهندس خودم.لطفا کمک کنید مشکلم حل بشه تا یه دنیا ممنونتون میشم.

من یک دستابیس با اس کیو لایت ساختم که 4تا تیبل داره.اسم تیبل هام basic,books,dorost,amoozesh هستند.

بنده خواستم دیتابیسم رو در برنامم اجرا کنم که پیام خطا میده.عکس از خطا هم واستون ضمیمه کردم ک میگه مشکل داره با اجرای دیتابیس.راستی اسم دیتابیسم هم kasb.db هستش.

بیصبرانه منتظر لطفتون هستم.اینم سورس کد صفحه ی بنده:

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Dim SQL1 As SQL
    Dim Fasl As String
End Sub

Sub Globals
    Dim cur As Cursor
    Private lst_bio As ListView
    Private btn_back As Button
    Private lbl_top As Label
    Dim font As Typeface
    Private p_top As Panel
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("layout_list")
    font=Typeface.LoadFromAssets("yekan.ttf")
    lbl_top.Typeface=font
    lbl_top.TextSize=18
    lbl_top.TextColor=Colors.White
    lst_bio.TwoLinesAndBitmap.Label.Typeface=font
    lst_bio.TwoLinesAndBitmap.Label.TextColor=Colors.RGB(58,58,58)
    lst_bio.TwoLinesAndBitmap.Label.Gravity=Gravity.RIGHT
    lst_bio.TwoLinesAndBitmap.SecondLabel.Gravity=Gravity.RIGHT
    lst_bio.TwoLinesAndBitmap.SecondLabel.TextColor=Colors.RGB(0,153,204)
    lst_bio.TwoLinesAndBitmap.SecondLabel.Typeface=font
        lst_bio.SingleLineLayout.Label.TextColor=Colors.White
    lst_bio.SingleLineLayout.Label.TextSize=18
    lst_bio.SingleLineLayout.Label.Gravity=Gravity.CENTER_VERTICAL
    lst_bio.SingleLineLayout.Label.Typeface=font
    lst_bio.SingleLineLayout.Label.Gravity=Gravity.CENTER
    
    
    Dim img As BitmapDrawable
    img.Initialize(LoadBitmap(File.DirAssets,"men.png"))
    lst_bio.SingleLineLayout.Background=img
    
    If File.Exists(File.DirInternal,"kasb.db")= False Then
    File.Copy(File.DirAssets,"kasb.db",File.DirInternal,"kasb.db")
    End If
    
    If SQL1.IsInitialized=False Then
    SQL1.Initialize(File.DirInternal,"kasb.db",False)
    End If
    
    
    Dim cur As Cursor
    cur=SQL1.ExecQuery("SELECT * FROM basic")
    
    For i = 0 To cur.RowCount-1
    cur.Position=i
    lst_bio.AddSingleLine2( cur.GetString("Fasl"),cur.GetInt("id"))
    lst_bio.SingleLineLayout.Label.Gravity=Gravity.CENTER
    Next
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub lst_bio_ItemClick (Position As Int, Value As Object)
    
End Sub

Sub btn_back_Click
    StartActivity(frmmenu2)
    Activity.Finish
End Sub

post-4739-0-77613400-1456752247_thumb.png

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

درود

اسم جدولی که وارد کردید اشتباه هست

گفته جدولی به اسم basic وجود نداره !!!

اگه از وجود این جدول و درست بودن اسمش مطمئن هستید یک بار این شرط رو بشکنید :

If File.Exists(File.DirInternal,"kasb.db")= False Then
    File.Copy(File.DirAssets,"kasb.db",File.DirInternal,"kasb.db")
    End If

یعنی به جای False از True استفاده کنید تا باز دیتابیس کپی بشه یک بار ... بعدش توی اجرای بعدی دوباره False کنید

 

مشکل حل میشه

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر داداش ولی این کار رو انجام دادم و از false به true  و برعکسش رو هم انجام دادم همون ارور اومد که قبلا هم میومد.

و ضمنا کاملا مطمئنم که دیتابیسم سالمه و دارای 4 تیبل یا جدول.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر داداش ولی این کار رو انجام دادم و از false به true  و برعکسش رو هم انجام دادم همون ارور اومد که قبلا هم میومد.

و ضمنا کاملا مطمئنم که دیتابیسم سالمه و دارای 4 تیبل یا جدول.

 

 

به شکل نوشتاری هم توجه کردید؟ 

منظورم بزرگی و کوچکی اسم فیلد ها و تیبله . اگر اسم فیلد و تیبل ها رو با حروف بزرگ نوشتید ، تو برنامه هم به همون صورت بنویسید.

 

گاهی اوقات خطا میده . 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

احتمالا تیبل basic رو بعد از لود کردن db داخل برنامه اضافه نکردید ؟

در اینصورت برنامه رو حذف کنید ( از روی امولاتور ) و db رو دوباره اضافه کنید ( داخل b4a )  و دوباره برنامه رو ران کنید درست میشه

 

در غیر اینصورت واقعا نمیفهمم مشکل کجاس :|

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به شکل نوشتاری هم توجه کردید؟ 

منظورم بزرگی و کوچکی اسم فیلد ها و تیبله . اگر اسم فیلد و تیبل ها رو با حروف بزرگ نوشتید ، تو برنامه هم به همون صورت بنویسید.

 

گاهی اوقات خطا میده . 

آره دقیقا همون اسم ها رو کپی کردم تو برنامه که با هیچ مشکل نوشتاری و تایپی مواجه نشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...