N
navy
Unregistered / Unconfirmed
GUEST, unregistred user!
FPowerQuery.Connection.BeginTrans;
FPowerQuery.Close; // FPowerQuery是diamond ado v2 的 query
FPowerQuery.SQl.Clear;
FPowerQuery.SQL.Add('Delete from userPower Where UserNo=:sUserNo');
FPowerQuery.Parameters[0].DataType:=ftString;
FPowerQuery.Parameters[0].Value:=FUserNo;
FPowerQuery.ExecSQL;
for iIndex:=0 to FItems.Count-1 do //Fitems是一个集合 Tcollection
begin
// FPowerQuery.Close;
FPowerQuery.SQL.Clear;
FPowerQuery.SQL.Add('Insert into UserPower Values sUserNo,:iPowerType,');
FPowerQuery.SQl.Add(':iDeviceID,:iPowerValue,:sPowerAppend)');
FPowerQuery.ParamByName('sUserNo').DataType:=ftString;
FPowerQuery.ParamByName('iPowerType').DataType:=ftInteger;
FPowerQuery.ParamByName('iDeviceID').DataType:=ftInteger;
FPowerQuery.ParamByName('iPowerValue').DataType:=ftInteger;
FPowerQuery.ParamByName('sPowerAppend').DataType:=ftString;
FPowerQuery.ParamByName('sUserNo').Value:=Fitems[iIndex].UserNO;
FPowerQuery.ParamByName('iPowerType').Value:=Fitems[iIndex].PowerType;
FPowerQuery.ParamByName('iDeviceID').Value:=Fitems[iIndex].DeviceID;
FPowerQuery.ParamByName('iPowerValue').Value:=Fitems[iIndex].PowerValue;
FPowerQuery.ParamByName('sPowerAppend').Value:=Fitems[iIndex].PowerAppend;
FPowerQuery.ExecSQL;
end;
FPowerQuery.Connection.CommitTrans;
result:=true;
except
FPowerQuery.Connection.RollbackTrans;
result:=false;
end;
各位 ,diamond ado 问题真的不少,:-(
我的问题是
1.增加记录insert 时,只有第一条记录成功,其他的没有insert .
2.在事务中删除掉的记录,再插入相同的记录,报主键冲突. 删除了还冲突???
我的数据库隔离层时'读已提交'readcommieted.
以前发现过该类问题,以为v2已经解决,但是.....!!!!!!
FPowerQuery.Close; // FPowerQuery是diamond ado v2 的 query
FPowerQuery.SQl.Clear;
FPowerQuery.SQL.Add('Delete from userPower Where UserNo=:sUserNo');
FPowerQuery.Parameters[0].DataType:=ftString;
FPowerQuery.Parameters[0].Value:=FUserNo;
FPowerQuery.ExecSQL;
for iIndex:=0 to FItems.Count-1 do //Fitems是一个集合 Tcollection
begin
// FPowerQuery.Close;
FPowerQuery.SQL.Clear;
FPowerQuery.SQL.Add('Insert into UserPower Values sUserNo,:iPowerType,');
FPowerQuery.SQl.Add(':iDeviceID,:iPowerValue,:sPowerAppend)');
FPowerQuery.ParamByName('sUserNo').DataType:=ftString;
FPowerQuery.ParamByName('iPowerType').DataType:=ftInteger;
FPowerQuery.ParamByName('iDeviceID').DataType:=ftInteger;
FPowerQuery.ParamByName('iPowerValue').DataType:=ftInteger;
FPowerQuery.ParamByName('sPowerAppend').DataType:=ftString;
FPowerQuery.ParamByName('sUserNo').Value:=Fitems[iIndex].UserNO;
FPowerQuery.ParamByName('iPowerType').Value:=Fitems[iIndex].PowerType;
FPowerQuery.ParamByName('iDeviceID').Value:=Fitems[iIndex].DeviceID;
FPowerQuery.ParamByName('iPowerValue').Value:=Fitems[iIndex].PowerValue;
FPowerQuery.ParamByName('sPowerAppend').Value:=Fitems[iIndex].PowerAppend;
FPowerQuery.ExecSQL;
end;
FPowerQuery.Connection.CommitTrans;
result:=true;
except
FPowerQuery.Connection.RollbackTrans;
result:=false;
end;
各位 ,diamond ado 问题真的不少,:-(
我的问题是
1.增加记录insert 时,只有第一条记录成功,其他的没有insert .
2.在事务中删除掉的记录,再插入相同的记录,报主键冲突. 删除了还冲突???
我的数据库隔离层时'读已提交'readcommieted.
以前发现过该类问题,以为v2已经解决,但是.....!!!!!!