PDA

View Full Version : سوال: درج مقدار(false)یا (true) ازطریق چک باکس روی فرم دربانک بادستور(sql)



amirkazem
دوشنبه 17 خرداد 1395, 19:36 عصر
سلام، دربرنامه ی فروشی که داریم(بانک اکسس) ودرجدول فروش آن نوع داده فیلدهای (foroosh)و(lavazem) ازنوع بولین(false-true)می باشد.حالامی خواهیم ازطریق فرم فروش وبا دستور(sql) مقادیرراواردجدول فروش کنیم.
دوستان بفرماییدمقادیر فیلدهای لوازم وفروش راکه روی فرم فقط با (checkbox) طراحی شده چگونه واردکنیم؟
کدی که نوشته ایم:


if MessageDlg('اطلاعات فروش ثبت خواهدشد.آیامطمئن هستید؟',mtConfirmation, [mbYes,mbNo],0,mbYes)=mrYes then
begin
ADOQuery3.Active :=true;
ADOQuery3.SQL.Clear ;
ADOQuery3.SQL.Add('insert into foroosh(f_tarikh,code_moshtari,code_motor,gh_khari d,gh_foroosh,sood,naghdi,albaghi,albaghi_type,lava zem,foroosh) values('+QuotedStr(SolarDatePicker1.Text)+','+Quot edStr(Edit6.text)+','+QuotedStr(Edit2.text)+','+Qu otedStr(DBEdit17.Text)+','+QuotedStr(Edit8.text)+' ,'+QuotedStr(Edit9.text)+','+QuotedStr(Edit10.text )+','+QuotedStr(Edit11.text)+','+QuotedStr(ComboBo x1.Items[ComboBox1.ItemIndex])+','+QuotedStr('yes')+','+QuotedStr('yes')+'');
ADOQuery3.ExecSQL ;

Mahmood_M
دوشنبه 17 خرداد 1395, 20:42 عصر
var
ForushValue, LavazemValue : String;
begin
case ForushChBox.Checked of
True : ForushValue := 'Yes';
False : ForushValue := 'No'
end;

case LavazemChBox.Checked of
True : LavazemValue := 'Yes';
False : LavazemValue := 'No'
end;

...
ADOQuery.SQL.Text := 'INSERT INTO MyTable(..., Forush, Lavazem) VALUES(...,' + QuotedStr(ForushValue) + ', ' + QuotedStr(LavazemValue) + ')';
...

amirkazem
سه شنبه 18 خرداد 1395, 00:57 صبح
سلام، ضمن تشکرمجدد، بااین کدخطامیده:


procedure TForm8.BitBtn2Click(Sender: TObject);
var
ForooshValue, LavazemValue : String;
begin
case checkbox2.Checked of
True : ForooshValue := 'Yes';
False : ForooshValue := 'No'
end;


case checkbox1.Checked of
True : LavazemValue := 'Yes';
False : LavazemValue := 'No'
end;




if MessageDlg('اطلاعات فروش ثبت خواهدشد.آیامطمئن هستید؟',mtConfirmation, [mbYes,mbNo],0,mbYes)=mrYes then
begin
ADOQuery3.Active :=true;
ADOQuery3.SQL.Clear ;
ADOQuery3.SQL.Add('insert into foroosh(tarikh_foroosh,code_moshtari,code_motor,gh _kharid,gh_foroosh,sood,naghdi,albaghi,albaghi_typ e,lavazem,foroosh) values('+QuotedStr(SolarDatePicker1.Text)+','+Quot edStr(Edit6.text)+','+QuotedStr(Edit2.text)+','+Qu otedStr(DBEdit17.Text)+','+QuotedStr(Edit8.text)+' ,'+QuotedStr(Edit9.text)+','+QuotedStr(Edit10.text )+','+QuotedStr(Edit11.text)+','+QuotedStr(ComboBo x1.Items[ComboBox1.ItemIndex])+','+QuotedStr(LavazemValue)+','+QuotedStr(Foroos hValue)+')');
ADOQuery3.ExecSQL ;


MessageBox(0,'موتورانتخابی فروخته شد','اعلان',mb_ok);
Edit2.Enabled :=false;
Edit3.Enabled :=false;
Edit4.Enabled :=false;
Edit1.Enabled :=false;
Edit5.Enabled :=false;
Edit6.Enabled :=false;
Edit7.Enabled :=false;
DBEdit4.Enabled :=false;
DBEdit5.Enabled :=false;
DBEdit6.Enabled :=false;
DBEdit7.Enabled :=false;
DBEdit8.Enabled :=false;
DBEdit9.Enabled :=false;
DBEdit10.Enabled :=false;
BitBtn1.Enabled :=false;
BitBtn2.Enabled :=false;
end else
begin


ADOQuery1.Active :=false;
ADOQuery2.Active :=false;
ADOQuery1.Cancel;
Edit1.Text :='';
Edit5.Text :='';
Edit6.Text :='';
Edit7.Text :='';
DBEdit4.Text :='';
end;
end;





لطفاً تصاویرضمیمه راملاحظه بفرمایید.

Mahmood_M
سه شنبه 18 خرداد 1395, 01:58 صبح
به جای YES و NO از True و False یا 1 و 0 استفاده کنید و داخل QuotedStr هم نذارید
برای ذخیره مقادیر Boolean می تونید یک فیلد از نوع Byte ایجاد کنید و مقادیر 1 و 0 رو به عنوان True و False ذخیره کنید