PDA

View Full Version : مشکل در insert داده ها در adotable



nimakaiedi
شنبه 08 خرداد 1389, 09:37 صبح
سلام
من یه table دارم که شامل 16 فیلد از نوع های nvarchar و int می باشد.
2 تا کلید دارم مثلا به اسم kh_ID و khat_ID از نوع int با استفاده از دستور adotable1.insertrecord([]) یا


Adotable1.insert


Adotable1.FieldByName('field_name').Value:='value'


Adotable1.post
وقتی می خوام چیزی رو وارد کنم یه error می گیره مثل عکس
به نظر شما ایراد از چیه؟؟؟
مرسی

pezhvakco
شنبه 08 خرداد 1389, 09:55 صبح
درود :




Adotable1.insert


Adotable1.FieldByName('field_name').Value:='value'


Adotable1.post

احتمالا از نوع کد دستور مقدار دهی باشه >

ADOTable1.Insert;
ADOTable1.Edit;
ADOTable1.FieldByName('name').AsString:=Edit1.Text ;
ADOTable1.Post;
در کد دستور مقدار دهی، باید دو طرف رابطه یکسان و متناسب با نوع ستون در جدول باشه .

فکر خوش .

nimakaiedi
شنبه 08 خرداد 1389, 10:14 صبح
درود :
احتمالا از نوع کد دستور مقدار دهی باشه >

ADOTable1.Insert;
ADOTable1.Edit;
ADOTable1.FieldByName('name').AsString:=Edit1.Text ;
ADOTable1.Post;
در کد دستور مقدار دهی، باید دو طرف رابطه یکسان و متناسب با نوع ستون در جدول باشه .
فکر خوش .[/right]
[/left]

با عرض شرمندگی این راه شما رو هم امتحان کردم اما باز هم error رو داد
وقتی که compile به خط adotable1.post میرسه error به وجود میاد

pezhvakco
شنبه 08 خرداد 1389, 10:41 صبح
وقتی که compile به خط adotable1.post میرسه error به وجود میاد

چه خطایی میده .

فکر خوش .

nimakaiedi
شنبه 08 خرداد 1389, 11:18 صبح
چه خطایی میده .

فکر خوش .


همین errorی که عکسشو گذاشتم دیگه :متفکر:

pezhvakco
شنبه 08 خرداد 1389, 12:25 عصر
در هنگام اضافه کردن یک ردیف جدید به جدول، وقتی دارای ستونی هستی که نمی تواند مقدار هیچ (Null) بگیرد (مانند ستونی کلید Key) باید اون ستون ها رو حتما مقدار دهی کنی .


همین errorی که عکسشو گذاشتم دیگه
اون خطای بالا رو برای کد دستوری که نوشتم در زمان کامپایل میده ؟

فکر خوش .

nimakaiedi
شنبه 08 خرداد 1389, 12:50 عصر
.

اون خطای بالا رو برای کد دستوری که نوشتم در زمان کامپایل میده ؟
.

نه، برنامه کامل اجرا میشه اما وقتی کنترل به adotable1.post میرسه خطای بالا ظاهر میشه

pezhvakco
شنبه 08 خرداد 1389, 13:11 عصر
شما تنضیمات مربوط به ADOTable رو درست انجام دادی و اون رو فعال (True) کردی .

اون قضیه مقدار دهی تمام ستون هایی که باید حتما مقدار داشته باشند رو انجام دادی .

در کد دستور مقدار دهی به ستون های جدول، نوع تعریفی در این جا با نوع تعریفی در جدول اصلی یکسان هست .

فکر خوش .

nimakaiedi
یک شنبه 09 خرداد 1389, 08:05 صبح
شما تنضیمات مربوط به ADOTable رو درست انجام دادی و اون رو فعال (True) کردی .

اون قضیه مقدار دهی تمام ستون هایی که باید حتما مقدار داشته باشند رو انجام دادی .

در کد دستور مقدار دهی به ستون های جدول، نوع تعریفی در این جا با نوع تعریفی در جدول اصلی یکسان هست .

فکر خوش .


آره بخدا ولی نمیدونم چرا اینجوری میشه :افسرده:

pezhvakco
یک شنبه 09 خرداد 1389, 09:01 صبح
روی ADOTable دوبار کلیک کن و اگه مقادیری (نام ستون های جدول) داخلش بود رو پاک و دوباره اضافه کن (با راست کلیک و استفاده از گزینه Add All) .

در آخر دوباره برنامه رو کامپایل و اجرا کن . (اون فایل اجرایی که از کامپایل قبل بوده رو پاک کن) .

فکر خوش.

nimakaiedi
یک شنبه 09 خرداد 1389, 10:19 صبح
روی ADOTable دوبار کلیک کن و اگه مقادیری (نام ستون های جدول) داخلش بود رو پاک و دوباره اضافه کن (با راست کلیک و استفاده از گزینه Add All) .

در آخر دوباره برنامه رو کامپایل و اجرا کن . (اون فایل اجرایی که از کامپایل قبل بوده رو پاک کن) .

فکر خوش.


این کار رو هم کردم
اما نشد
بازهم خطای قبلی

nimakaiedi
یک شنبه 09 خرداد 1389, 16:37 عصر
اساتید گرامی مشکل حل شد

یکی از combobox ها رو بر داشتم و دوباره گذاشتم رو فرم :گیج:

از اون گیرا ... بود
در هر صورت ممنون و متشکر:چشمک:

MOJTABAATEFEH
یک شنبه 02 آبان 1389, 17:00 عصر
دوستان عزیز عذرخواهی می کنم شاید سوال من خارج از بحث باشه
آیا ADOtable در شبکه و جایی که دستورات SQL رو با ADOquery کار کنیم و با ADOtable فقط با جدول ها کار کنیم به طور کامل جواب میده؟

با تشکر

Felony
یک شنبه 02 آبان 1389, 17:21 عصر
دوستان عزیز عذرخواهی می کنم شاید سوال من خارج از بحث باشه
آیا ADOtable در شبکه و جایی که دستورات SQL رو با ADOquery کار کنیم و با ADOtable فقط با جدول ها کار کنیم به طور کامل جواب میده؟

با تشکر

به طور کامل یعنی چی ؟ منظورتون تداخل این دو کامپوننت هست ؟ بله جواب میده .

MOJTABAATEFEH
یک شنبه 02 آبان 1389, 17:42 عصر
دوست عزیز منظورم تداخل این دو نیست منظورم اینه به صورت عادی اگر بخواهیم با جداول کار کنیم یعنی درج ، ویرایش ، حذف و ...... بدون استفاده از دستورات SQL؟
طبیعی است در صورت نیاز به دستورات SQL بود از ADOquery استفاده می کنیم

با تشکر

Felony
یک شنبه 02 آبان 1389, 17:46 عصر
دوست عزیز منظورم تداخل این دو نیست منظورم اینه به صورت عادی اگر بخواهیم با جداول کار کنیم یعنی درج ، ویرایش ، حذف و ...... بدون استفاده از دستورات SQL؟
طبیعی است در صورت نیاز به دستورات SQL بود از ADOquery استفاده می کنیم

با تشکر

بله مشکلی نداره .