PDA

View Full Version : سوال: یک سئوال در مورد adotable



ali_sadri
شنبه 24 مرداد 1388, 11:40 صبح
با سلام خدمت دوستان
من یک بانک dbf تحت فاکس پرو دارم که با ado table به آن وصل می شم
در حالتی که برنامه در حال اجرا نیست اطلاعات جدول در یک گرید نمایش می دم ولی وقتی برنامه اجرا می شه این خطا را می ده
could not convert variant of type (null) into type (string )m
ولی اگر active تیبل را false بکنم خطا رفع می شه اما کار ما لنگ می مونه
ممنون

Hsimple11
شنبه 24 مرداد 1388, 13:49 عصر
خطا داره خودش میگه. نوع داده ای که میخواین به جدول اختصاص بدید یا درش Insert کنید با نوع فیلدی که تعریف کردید همخونی نداره. مثلا فیلتون نمیتونه مقدار Null (خالی) بگیره توی یه فیلدی که String هست.

ali_sadri
شنبه 24 مرداد 1388, 15:05 عصر
نه عزیز جان متوجه نشدی
من نه می خوام insert کنم نه چیز دیگه اصلا برنامه اجرا نمی شه که به مرحله insert یا edit برسه من فقط می خوام همان طور که در حالت طراحی به تیبل وصل می شه در حالت اجرا هم همون طور باشه وقتی ado tabel اکتیو میشه از اجرای برنامه جلوگیری میشه .
نمی دونم تونستم منظورم و برسونم یا نه

behnam_dr
شنبه 24 مرداد 1388, 15:37 عصر
دوست عزیز آقای Hsimple11 کاملا درست میفرمایند امکان نداره خطا بی جهت صادر بشه حتما شما در oncreate یا جای دیگه برنامه داده ای رو قصد دارید insert کنید ...

shahrokhkian
شنبه 24 مرداد 1388, 18:02 عصر
چک کنید که در قسمت BeforOpen یا AfterOpen جدول مورد نظر کدی ننوشته شده باشد

ali_sadri
سه شنبه 27 مرداد 1388, 14:04 عصر
با تشکر از جوابهای دوستان
ولی مشکل من حل نشد
من یک پروژه جدید ایجاد کردم و یک ado tableو یکado connection و یک دیتا سورس روی فرم گذاشتمو این کد را به کانکشن استرینگ اضافه کردم
Provider=MSDASQL.1;Extended Properties="DBQ=c:\;DefaultDir=c:\;Driver={Microsoft dBASE Driver (*.dbf)};DriverId=277;MaxBufferSize=2048;PageTimeo ut=5;"
تیبل اکتیو شد و برای اطمینان یک گرید گذاشتم و ارتباط دادم به تیبل داده ها نمایش داده شد
بدون اینکه جایی کدی بنویسم برنامه را run کردم باز این
http://barnamenevis.org/forum/C:\Documents and Settings\Administrator\Desktop\untitled.bmp
خطا را دادفکر می کنم این کد خطا داره . لطفا اگه کسی می دونه اصلاح کنه

nilidelphi
چهارشنبه 28 مرداد 1388, 20:37 عصر
عزیز جون اگه بجای ado از bde استفاده کنی بهتره

البته فکر کنم دیتابیس شما از قبل توش داده دخیره شده است که یکی از داده ها مقایر با نوع داده ای ثبت شده است شما میتونید دیتابیستون کانورت کنید ببینید باز همون error میده یا نه؟

vcldeveloper
چهارشنبه 28 مرداد 1388, 23:36 عصر
عزیز جون اگه بجای ado از bde استفاده کنی بهتره
قبلا هم توضیح دادم که BDE یک تکنولوژی منسوخ شده هست. در نسخه های جدید دلفی هم فقط برای Backward Compatibility هنوز نگهداری میشه. همه دنبال راهی برای تبدیل پروژه های BDE خودشان به استفاده از روش های جدیدتر می کنند، اون وقت شما به دیگران توصیه می کنید پس رفت کنند؟!!

ali_sadri
شنبه 07 شهریور 1388, 12:28 عصر
سلام
مشکل من همچنان حل نشده
کسی فکری به نظرش نمی رسه
من حتی فیلد های جدول را تغییر نوع دادم ولی حل نشد
ضمنا با bde هیچ مشکلی نداره
این هم پیغام خطا

ali_sadri
یک شنبه 08 شهریور 1388, 10:46 صبح
كسي نيست جواب بده ؟

Touska
یک شنبه 08 شهریور 1388, 16:14 عصر
شما احتمالا در oNshow یا Oncreate فرم خود از یک مقدار در دیتابیس به String تبدیل می کنید.

که این مقدار در دیتابیس شما NUll ذخیره شده است و وقتی که دیتابیس را False می کنید آن Error رو به

شما نمی دهد.