procedure DataInsert(const qName:TQuery; szDBName:string;iNum:Integer; iMark:array of Integer;eName:array of TEdit); var i : Integer; szSQL : string; begin if DataModule1.DataBase1.InTransaction=true then DataModule1.DataBase1.RollBack; DataModule1.DataBase1.StartTransaction; szSQL := 'INSERT INTO '+szDBName+' VALUES(' for i:=0 to iNum-1 do begin if iMark[i]=0 then szSQL := szSQL+eName[i].Text {非字符方式} else szSQL := szSQL+'"'+eName[i].Text+'"'; {字符方式} if i=iNum-1 then szSQL := szSQL+')' else szSQL := szSQL+','; end; qName.Close; {关闭查询} qName.SQL.Clear; {清SQL特性内容} qName.SQL.ADD(szSQL); {添加SQL内容} szSQL := 'SELECT * FROM '+szDBName; qName.SQL.ADD(szSQL); qName.Open; {返回结果集} DataModule1.DataBase1.Commit; end;
DataModule1.DataBase1.Connected := true;
ataModule1.DataBase1.Connected := false;
CREATE PROC ProcTest1 @inttest smallint ,@strtest char(4) output AS INSERT INTO TEST_User.TRANS_TEST VALUES(@inttest,@strtest) SELECT @strtest,* FROM TEST_User.TRANS_TEST
StoredProc1.Close; {关闭存储过程} StoredProc1.Params[1].ParamType := ptInput; {设置存储过程的参数类型} StoredProc1.Params[1].AsInteger := 1; {设置存储过程中参数的数据} StoredProc1.Params[2].ParamType := ptOutput; toredProc1.Params[2].AsString := 'abcd'; StoredProc1.Open; {打开存储过程}