نقل قول: استفاده از دو WHERE
نقل قول:
نوشته شده توسط
majid534
سلام و وقت دوستان بخیر
من میخوام از طریق ado دستور آپدیت رو با دوشرط اجرا کنم
کد حدودا این شکلیه :
ADOCommand1.CommandText:='update XXxXX';
ADOCommand1.CommandText:='set XXX73=' +Edit3.Text;
ADOCommand1.CommandText:='Where XXX02=' +Edit1.Text;
ADOCommand1.CommandText:='and XXX15=' +Edit2.Text;
ADOCommand1.CommandText:='and XXX = 1';
ADOCommand1.Execute;
همونطور که میبینید میخوام 3 شرط اجرا بشه اما ظاهرا استفاده از AND غلطه
چه راهکاری میتونید به من بدید؟
مرسی
به این روشی که شما کامند رو پر میکنید، هر دستور جدید قبلی ها رو پاک میکنه و دستور جدید جایگزینش میشه.
مقدار کامند رو در قالب یک رشته تخصیص بدید.
نقل قول: استفاده از دو WHERE
میشه لطف کنید و اصلاح شدش رو بهم بگید؟
من به ترتیب زیر عمل کردم اما هنوز یک خط ارور دارم
ADOCommand1.CommandText:='update XXxXX'
,'set XXX73=' +Edit3.Text
,'Where XXX02=' +Edit1.Text
,'and XXX15=' +Edit2.Text
,'and XXX01 = 1';
ADOCommand1.Execute;
سپاس
نقل قول: استفاده از دو WHERE
نقل قول:
نوشته شده توسط
majid534
میشه لطف کنید و اصلاح شدش رو بهم بگید؟
من به ترتیب زیر عمل کردم اما هنوز یک خط ارور دارم
ADOCommand1.CommandText:='update XXxXX'
,'set XXX73=' +Edit3.Text
,'Where XXX02=' +Edit1.Text
,'and XXX15=' +Edit2.Text
,'and XXX01 = 1';
ADOCommand1.Execute;
سپاس
متن خطا رو بزارید
ADOCommand1.CommandText := 'insert into table_1(Field_1, Field_2, Field_3) values(:A_Field_1, :A_Field_2, :A_Field_3)';
ADOCommand1.Parameters.FindParam('A_Field_1').Valu e := '100';
ADOCommand1.Parameters.FindParam('A_Field_2').Valu e := '200';
ADOCommand1.Parameters.FindParam('A_Field_3').Valu e := '300';
ADOCommand1.Execute();
نقل قول: استفاده از دو WHERE
-احتیاط بین AND ها پرانتز بگذارید
ADOCommand1.CommandText:='update XXxXX'
+' set XXX73=' +Edit3.Text
+' Where (XXX02='+Edit1.Text
+') and (XXX15='+Edit2.Text
+') and (XXX01 = 1)';
ADOCommand1.Execute;
اگر یکی از فیلد ها مثلا XXX15 از نوع متنی (String) است از QuotedStr استفاده کنید:
+') and (XXX15='+ QuotedStr(Edit2.Text);