本人的语句:
ADOQuery3.Close ;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Text :='INSERT INTO TEST_FOR_XXX(SEQ,SER_TYPE,DHHM ,PASSWD,ADD_DEL) VALUES (GS_COUT,'''DG50''','''13906119780''','''666666''','''Y''') ';
ADOQuery3.ExecSQL ;
除了用三个" ' "号以及将 SQL语句分成几段,每段用4个'号分割外,还有什么好方法?急!
另外,ADOQuery3.ExecSQL 如何不让自动提交?等取到返回值后提交?象PB一样?
ADOQuery3.Close ;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Text :='INSERT INTO TEST_FOR_XXX(SEQ,SER_TYPE,DHHM ,PASSWD,ADD_DEL) VALUES (GS_COUT,'''DG50''','''13906119780''','''666666''','''Y''') ';
ADOQuery3.ExecSQL ;
除了用三个" ' "号以及将 SQL语句分成几段,每段用4个'号分割外,还有什么好方法?急!
另外,ADOQuery3.ExecSQL 如何不让自动提交?等取到返回值后提交?象PB一样?
ADOQuery3.SQL.Text :='INSERT INTO TEST_FOR_XXX(SEQ,SER_TYPE,DHHM ,PASSWD,ADD_DEL) VALUES (GS_COUT,''DG50'',''13906119780'',''666666'',''Y'') '
2.你自己开始事务。自己提交不就可以了
就可以了,你只需记住字符串里面个引号代表SQL中的一个引号就OK了
ado 开始一个事务的条件 :
1. adodataset 的 游标类型 cursortype 设成ctStatic,LockType 设成 ltBatchOptimistic
开始一个事务
2.
try
Adoconnection1.beginTrans;
adodataset.UpdateBatch();
Adoconnection1.commitTrans;
except
Adoconnection1.rollbacktrans;
end;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Text :='INSERT INTO TEST_FOR_XXX(SEQ,SER_TYPE,DHHM ,PASSWD,ADD_DEL) VALUES (GS_COUT,para1,para2,para3,para4) ';
adoquery3.parambyname('para1').asstring:='''DG50''';
adoquery3.parambyname('para2').asstring:='''13906119780''';
adoquery3.parambyname('para3').asstring:='''666666''';
adoquery3.parambyname('para4').asstring:='''Y''';
ADOQuery3.ExecSQL ;