PDA

View Full Version : سوال: پیغام خطای SQL



mehdi.safavie
دوشنبه 26 مرداد 1394, 23:41 عصر
درود;

کسی میدونه این عکسی که گذاشتم 134390معنیش چیه ؟
پشت بندش هم این پیغام رو میگیرم :
Object refrence not set to an instance of object

از برنامه Break Point گرفتم دیدم رو این خط این پیغام میاد :

Mod_Database.SellectCommand("Select * from Table",Dataset,"Table")


البته این ماله ماژول من هست و کار خاصی نمیکنه این دستور رو برام اجرا میکنه .
زمانی که Button1 رو کلیک میکنم هیچ مشکلی نیست ، اما زمانی که Button2 با کد های اتچ و دی اتچ کردن دیتابیس و ... رو کلیک کنم کارش تموم بشه و بعد Button1 رو کلیک کنم اینطوری میشه .
حالا وقتی روی پیغام خطا ها اوکی میکنم دوباره اون Button رو اجرا میکنم دیگه این پیغام خطا نمیاد . این که دوباره کد اجرا میشه این پیغام نمیاد سردرگمم کرده .
یعنی روی اون خط کدی که نوشتم این پیغام خطاها میاد ، ولی دوباره اجرا میشه دیگه پیغام خطا نمیده .

یه مساله دیگه هم هست اینه که وقتی Break Point میگیرم اگه آروم آروم با F10 خط به خط رو بخونم این پیغام خطا نمیاد ، اما اگر بلا فاصله برم روش و سریع F10 بزنم پیغام خطا میاد .
لطفا تا جایی که نیاز نیست کل کد ها رو نخواید . ( کانکشن ها طبق اصول باز و بسته میشن و باز نمیمونن . چون اگر مربوط به کانک شن یا ... باشه اصلا بار دوم هم خطا باید بده . )

تو گوگل هم متن پیغام عکس رو جست و جو کردم سر در نیاوردم ، مربوط به موضوع من نیست اصلا .

pooya1072
سه شنبه 27 مرداد 1394, 14:01 عصر
درود;

کسی میدونه این عکسی که گذاشتم 134390معنیش چیه ؟
پشت بندش هم این پیغام رو میگیرم :
Object refrence not set to an instance of object

از برنامه Break Point گرفتم دیدم رو این خط این پیغام میاد :

Mod_Database.SellectCommand("Select * from Table",Dataset,"Table")


البته این ماله ماژول من هست و کار خاصی نمیکنه این دستور رو برام اجرا میکنه .
زمانی که Button1 رو کلیک میکنم هیچ مشکلی نیست ، اما زمانی که Button2 با کد های اتچ و دی اتچ کردن دیتابیس و ... رو کلیک کنم کارش تموم بشه و بعد Button1 رو کلیک کنم اینطوری میشه .
حالا وقتی روی پیغام خطا ها اوکی میکنم دوباره اون Button رو اجرا میکنم دیگه این پیغام خطا نمیاد . این که دوباره کد اجرا میشه این پیغام نمیاد سردرگمم کرده .
یعنی روی اون خط کدی که نوشتم این پیغام خطاها میاد ، ولی دوباره اجرا میشه دیگه پیغام خطا نمیده .

یه مساله دیگه هم هست اینه که وقتی Break Point میگیرم اگه آروم آروم با F10 خط به خط رو بخونم این پیغام خطا نمیاد ، اما اگر بلا فاصله برم روش و سریع F10 بزنم پیغام خطا میاد .
لطفا تا جایی که نیاز نیست کل کد ها رو نخواید . ( کانکشن ها طبق اصول باز و بسته میشن و باز نمیمونن . چون اگر مربوط به کانک شن یا ... باشه اصلا بار دوم هم خطا باید بده . )

تو گوگل هم متن پیغام عکس رو جست و جو کردم سر در نیاوردم ، مربوط به موضوع من نیست اصلا .

سلام
عکسی که فرستاده بودید رو دیدم , آیا برای بانکتون Replication تعریف کردید؟

mehdi.safavie
سه شنبه 27 مرداد 1394, 18:39 عصر
نه تعریف نکردم

mehdi.safavie
سه شنبه 27 مرداد 1394, 19:47 عصر
امروز 3 خط کد به Button 2 اضافه کردم ، وقتی اجرا میشه باز همین پیغام میاد .


If Mod_DataBaseTools.ExecuteQuery("TRUNCATE TABLE " & "Tb_DelID", True) = False Then
Exit Sub
End If


روندش هم اینطوریه که نرم افزار وقتی اجرا میشه میرم سراغ این Button 2 و اجرا میکنم به این 3 خط میرسه اون پیغام میاد ، وقتی اوکی میکنی دوباره همون Button2 رو اجرا میکنی دیگه این پیغام خطا نمیاد .

تنها کد هایی که قبل از این 3 خط نوشتم تو Button2 کد های کپی کردن و حذف کردن فایل هاست و اتچ و دی اتچ .
مثلا :

My.Computer.FileSystem.CopyFile(Application.Startu pPath & "\Helper.zip", drivee & "Helper.zip")


و اتچ و دی اتچ دیتاببیس .
اون Tb_DelID هم تو همین دیتابیس هست که اتچ و دی اتچ میشه .

من میخوام بدونم ، اگر مشکلی تو کد نویسی هست چرا بار دوم که رو Button2 کلیک میکنم این پیغام خطا نمیاد ، یا همچنین اگر مشکلی تو دیتابیس هست باز وقتی بار دوم اجرا میشه این مشکل چرا دیگه نیست ؟ اصلا ربطش رو نمیفهمم .

mehdi.safavie
چهارشنبه 28 مرداد 1394, 00:51 صبح
برای اون مشکل اول که روی Button2 میزدم بعد روی Button1 میزدم این پیغام خطا رو میداد ، مجبور شدم با این راه دورش بزنم :
زمانی که کاربر Button2 رو کلیک کرد و کد ها اجرا شد ، با یه پیغام که کار بر رو از این راه مطلع کنه ، برنامه بسته میشه و باید دوباره بازش کنه . اینطوری دیگه این مشکل نیست .
حالا برای مشکل دوم که با اضافه کردن این 3 خط کد ، کد های Button2 رو با مشکل مواجه کرده بود مجبور شدم اون ها رو بردارم ، در انتهای کدهاش یه فایل متنی ذخیره کنم تو محل نرم افزار و توش یه مقداری رو بنویسم ، بعد که برنامه بسته میشه و کار بر باید بازش کنه تو Form Load فرم اصلیم این فایل متنی که ساختم رو بخونم و مقداری که نوشته بودم رو چک کنم اگر درست بود اون 3 خط اونجا اجرا بشن . بعد هم فایل متنی رو خالی از متن کنم .

یعنی در کل برنامه به طور کاملا مضحکی داره کار میکنه .

جست و جویی هم که تو سایت های خارجی و ایرانی کردم هیچ نتیجه ای نگرفتم ، یکی گفت کانکشن زیادی باز مونده ، که برای اتچ کردن باز میشه و بعد اتچ کردن بسته میشه ، برای دی اتچ کردن هم همینطور . تو msdn هم که این مشکل رو گفته بودن در رابطه با نوع کانکشن بود که باز ربطی نداشت وگرنه بار دوم کد ها بازم اجرا نمیشدن .

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

محمد آشتیانی
چهارشنبه 28 مرداد 1394, 01:40 صبح
سلام
لطفا کد کامل Button2 رو بگذارید (مخصوصا Attach & Detach)
ضمنا کانکشن استرینگی که باهاش متصل میشید رو هم اینجا بذارید لطفا.