部分代码:
//新增记录
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert Into brh_basic_table Values(');
ShowMessage(ADOQuery1.SQL.Text);
ADOQuery1.SQL.Add(Editno.Text+','''+Editname.Text+''','''+Editaddr.Text+''','''+Editpostcode.Text+''','''+Edittel.Text+''','''+Editcenter.Text+''','+Editcountuser.Text+','+Editmoney.Text+',');
ADOQuery1.SQL.Add(''''+Edittran.Text+''','''+Editstadat.Text+''','''+Editmaintype.Text+''','+Editmainrate.Text+','+Editmainfee.Text+','''+Editsectype.Text+''','+Editsecrate.Text+','+Editsecfee.Text+',');
ADOQuery1.SQL.Add(''''+Editintotype.Text+''','''+Edititerline.Text+''','''+Editip.Text+''','''+Editserverinf.Text+''','+Editservernum.Text+','''+Editserverdat.Text+''','''+Editnetcardinf.Text+''','+Editnetcardnum.Text+',');
ADOQuery1.SQL.Add(''''+Editnetcarddat.Text+''','''+Editrouteinf.Text+''','+Editroutenum.Text+','''+Editroutedat.Text+''','''+Editmminf.Text+''','+Editmmnum.Text+',');
ADOQuery1.SQL.Add(''''+Editmmdat.Text+''','''+Editsminf.Text+''','''+Editsmnum.Text+''','''+Editsmdat.Text+''','''+Editupsinf.Text+''','+Editupsnum.Text+','''+Editupsdat.Text+''','''+Edithubinf.Text+''','+Edithubnum.Text+',');
ADOQuery1.SQL.Add(''''+Edithubdat.Text+''','''+Editterminf.Text+''','+Edittermnum.Text+','''+Edittermdat.Text+''','''+Editticinf.Text+''','+Editticnum.Text+','''+Editticdat.Text+''','''+Edittabinf.Text+''','+Edittabnum.Text+',');
ADOQuery1.SQL.Add(''''+Edittabdat.Text+''','''+Editkeyinf.Text+''','+Editkeynum.Text+','''+Editkeydat.Text+''','''+Editrcinf.Text+''','+Editrcnum.Text+','''+Editrcdat.Text+''','''+Editatminf.Text+''','+Editatmnum.Text+','''+Editatmdat.Text+''');');
ShowMessage(ADOQuery1.SQL.Text);
ADOQuery1.ExecSQL;
加引号的为对应ACCESS数据库的字符串字段。
//新增记录
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert Into brh_basic_table Values(');
ShowMessage(ADOQuery1.SQL.Text);
ADOQuery1.SQL.Add(Editno.Text+','''+Editname.Text+''','''+Editaddr.Text+''','''+Editpostcode.Text+''','''+Edittel.Text+''','''+Editcenter.Text+''','+Editcountuser.Text+','+Editmoney.Text+',');
ADOQuery1.SQL.Add(''''+Edittran.Text+''','''+Editstadat.Text+''','''+Editmaintype.Text+''','+Editmainrate.Text+','+Editmainfee.Text+','''+Editsectype.Text+''','+Editsecrate.Text+','+Editsecfee.Text+',');
ADOQuery1.SQL.Add(''''+Editintotype.Text+''','''+Edititerline.Text+''','''+Editip.Text+''','''+Editserverinf.Text+''','+Editservernum.Text+','''+Editserverdat.Text+''','''+Editnetcardinf.Text+''','+Editnetcardnum.Text+',');
ADOQuery1.SQL.Add(''''+Editnetcarddat.Text+''','''+Editrouteinf.Text+''','+Editroutenum.Text+','''+Editroutedat.Text+''','''+Editmminf.Text+''','+Editmmnum.Text+',');
ADOQuery1.SQL.Add(''''+Editmmdat.Text+''','''+Editsminf.Text+''','''+Editsmnum.Text+''','''+Editsmdat.Text+''','''+Editupsinf.Text+''','+Editupsnum.Text+','''+Editupsdat.Text+''','''+Edithubinf.Text+''','+Edithubnum.Text+',');
ADOQuery1.SQL.Add(''''+Edithubdat.Text+''','''+Editterminf.Text+''','+Edittermnum.Text+','''+Edittermdat.Text+''','''+Editticinf.Text+''','+Editticnum.Text+','''+Editticdat.Text+''','''+Edittabinf.Text+''','+Edittabnum.Text+',');
ADOQuery1.SQL.Add(''''+Edittabdat.Text+''','''+Editkeyinf.Text+''','+Editkeynum.Text+','''+Editkeydat.Text+''','''+Editrcinf.Text+''','+Editrcnum.Text+','''+Editrcdat.Text+''','''+Editatminf.Text+''','+Editatmnum.Text+','''+Editatmdat.Text+''');');
ShowMessage(ADOQuery1.SQL.Text);
ADOQuery1.ExecSQL;
加引号的为对应ACCESS数据库的字符串字段。
举个例:
ADOQuery1.SQL.Add('Insert Into brh_basic_table Values(':field1,:field2');
adoquery1.parameters['field1'].value:=edit1.text;
adoquery1.parameters['field2'].value;=edit2.text;
..
..
sql.clear;
sql.Add('select * from 商品表');
sql.Add('where 商品类别=:s');
parameters.paramvalues['s']:=combobox3.text;
prepared;
open;
我们公司一般情况下都在Query控件里写,传参数出来
不就省了不少''的问题吗?
建议使用参数,或者使用format()函数。
sql = 'insert into tablename (field1,field2,...) values (%s,%s,....) '
format(sql,[edit1.text,edit2.text,....])