PDA

View Full Version : خطا در هنگام insert کردن اطلاعات در پارادکس



شنبه 20 اردیبهشت 1382, 00:33 صبح
با سلام
من هنگامی که از طریق یک query دستور insert into را برای اضافه کردن رکورد به بانک پارادکس استفاده می کنم اگر پارامترهایی را که می خواهم توسط آنها به بانک اطلاعات اضافه کنم همه از یک نوع مثلا string باشند درست انجام می شود ولی اگر یک پارامتر integer هم در این میان باشد با توجه به اینکه همه پارامترها را درست تعریف کردم ولی خطا می دهد.
آیا می توان این مشکل را حل کرد یا جزو ضعفهای خود پارادکس است ؟ که اگر اینگونه است چه راهی را به جای این روش که من استفاده کردم پیشنهاد می کنید ؟
با تشکر

SyntaxCheck
شنبه 20 اردیبهشت 1382, 02:57 صبح
اگر براتون ممکنه دقیقا دستوری رو که استفاده میکنید بنویسید

شنبه 20 اردیبهشت 1382, 17:31 عصر
مسلما از paradox نیست
شما دستور دقیق رو اینجا بنویس حتما یه جایی اشتب کردی

وحید20
شنبه 20 اردیبهشت 1382, 23:11 عصر
دوست گرامی سوال خیلی ناواضع است خوب توضیح بده

یک شنبه 21 اردیبهشت 1382, 00:20 صبح
با سلام و عرض تشکر از اینکه به سوالم توجه کردید.
من یک بانک پارادکس دارم با این فیلدها
1 _ ID ........ از نوع Autoincrement
2 _ name..... از نوع A
3 _ salary ....از نوع N
که فیلد Id کلید این جدول است
دستوری که استفاده می کنم این است :
query2.Close;
query2.UnPrepare;
query2.ParamByName('name').asstring := edit1.text;
query2.ParamByName('salary').asinteger := strtoint(edit2.text);
query2.Prepare;
query2.ExecSQL;
و پیغام خطایی که می گیرم این است
type mismatch in expression
لازم به ذکر است که مقادیر Data Type پارامترهای Query2 را به ترتیب String و integer برای name و salary تنظیم می کنم.
حالا اگر چیزی به ذهنتان می رسد لطفا راهنمایی کنید.

SyntaxCheck
یک شنبه 21 اردیبهشت 1382, 11:21 صبح
دوست من سلام
من تعجب کردم که شما چرا از کوری اینجوری استفاده میکنید.راهت ترین مار در استفاده از کوری استفاده از اس کیو ال هست.من کد زیر رو برای شما تست کردم جواب داد.این رو جایگزین کنید.

Query2.SQL.Clear;
Query2.SQL.Add('insert into mytable (name,salary) values("'+Edit1.Text+'",'+Edit2.Text+')');
Query2.ExecSQL;