查询分析器里面没有问题,在ADOQuery.sql.add()种为什么就出错呢?

来源:百度文库 编辑:神马文学网 时间:2024/04/28 07:32:27
HBADOConnString =
‘Provider=SQLOLEDB.1;Persist Security Info=True;PassWord=%s;User ID=%s;Initial Catalog=%s;Data Source=%s‘;
--------------------------------------------
function ConnectHBDataBase(const ServerName,DataBaseName,UserName,UserPassword: string;
ADOConnectionTest: TADOConnection;  ShowMsg: Boolean = True): Boolean;
var
fCS: string;
fQuery: TADOQuery;
fUserName, fPassWord: string;
begin
fCS := Format(HBADOConnString, [UserPassword,UserName , DataBaseName, ServerName]);
ADOConnectionTest.Close;
ADOConnectionTest.ConnectionString := fCS;
try
ADOConnectionTest.Open;
except
Result := False;
if ShowMsg then
MessageError(‘对不起,数据库服务器地址错误!‘);
Exit;
end;
Result := true;
end;
----------------------------------------------------------------------
procedure ADOExecuteSQL(ConnectionObjects: TADOConnection; SQLStr: string);
begin
with TADOQuery.Create(nil) do
try
Connection := ConnectionObjects;
SQL.Text := SQLStr;
ExecSQL;
finally
Free;
end; //try
end;
//调用
接口服务启动后就保持连接,这样更节省资源  ?
HBConnected := ConnectHBDataBase( ZNHBSvrParam.HB_ServerName,ZNHBSvrParam.HB_DataBaseName,
ZNHBSvrParam.HB_UserName,ZNHBSvrParam.HB_UserPassword, HBDBConnection, False);
U_MODE_SQLStr = ‘ UPDATE A  SET A.TIMEMARK = GETDATE() FROM MODE A ‘+
‘ WHERE A.TIMEMARK IS NULL  AND A.TYPE_NO = ‘‘%S‘‘  AND A.ORDER_NO = %D ‘;
ADOExecuteSQL(HBDbconn, U_MODE_SQLStr,[fQuery.Fields[0].AsString,fQuery.Fields[1].AsInteger]);