ورود

View Full Version : مشکل در ثبت اطلاعات در query



maisam57
یک شنبه 02 مهر 1385, 15:33 عصر
with adoquery1 do
begin
close;
sql.Clear;
sql.Add(format('insert into personal(id,fname,brithday,salary)'+
'values("%s","%s","%s","%s")',
[edit1.Text,edit2.Text,edit3.Text,edit4.Text]));
execsql;
end;

اینم error که میده
the name '100' is not permitted in this context
در ضمن
فیدلها رو
id:int
fname:char
brithday:date&time
salary:mony تعریف کردم
با تشکر

sarvestan
یک شنبه 02 مهر 1385, 16:31 عصر
فیلدی که از نوع money هست ارزش 100 رو میخوای بهش پاس بدی؟
اگه آره، بجاش 100.0 رو امتحان کن
اگه داری به ID مقدار میدی باید ببینی که این فیلد رو تو جدول چطور تعریف کردی! اگه Auto increment باشه که اصلا نباید بهش مقدار بدی!
در مجموع میشه گفت باید به پارامتر هایی که پاس میدی دقت بیشتری کنی! ایراد تو اوناست! :چشمک:

maisam57
دوشنبه 03 مهر 1385, 07:27 صبح
مقداری که من به فیدلها دادم خیلی عادی بوده
لطفا کمک کنید
id=100
fname=maisam
brithday=2/2/80
salary=120000

sarvestan
دوشنبه 03 مهر 1385, 09:03 صبح
آهان!
تازه رسدیم اول خط!
فیلد ID در بانکت چطور تعریف شده؟
اگر ID در بانک بصورت Identity تعریف شده باشه که اصلا لازم نیست به ID مقدار بدی!
ولی اگر ID رو در بانکت Identity تعریف نکردی، سوال بعدی مطرح میشه! آیا ID بصورت فیلد کلیدی تعریف شده یا نه؟
اگر ID بصورت فیلد کلیدی تعریف شده، باید رکورد های قبلی بانکت رو بررسی کنی! احتمالا رکوردی داری با ID = 100 ! در این صورت نمیتونی بیشتر از یک رکورد با ID یکسان داشته باشی!

maisam57
دوشنبه 03 مهر 1385, 09:17 صبح
خودم با یکمی سعی و کوشش بهش رسیدم
اینم کد کاملش


with adoquery1 do
begin
close;
sql.Clear;
sql.Add(format('insert into personal(id,fname,brithday,salary)'+
'values(%s,%s,%s,%s)',
[quotedstr(edit1.Text),quotedstr(edit2.Text),edit3. Text,edit4.Text]));
execsql;
end;


موفق باشید
----------------
ویرایش mzjahromi