我这里有个mysql表
id int(11) NOT NULL auto_increment,
name varchar(20) default NULL,ClientDataSet怎样向这个表插入记录???
我想这个id的值不应该由ClientDataSet添加才是啊.
可是,ClientDataSet.applyupdate(-1);时,报错不能把id字段更新为空值.
id int(11) NOT NULL auto_increment,
name varchar(20) default NULL,ClientDataSet怎样向这个表插入记录???
我想这个id的值不应该由ClientDataSet添加才是啊.
可是,ClientDataSet.applyupdate(-1);时,报错不能把id字段更新为空值.
FNotUpdateField: array of string;function UpdateDataSet(SQLCommand:string;TableName:String;
DataSet:TClientDataSet;NotUpField:Array of string): Integer;
stdcall;////////////////////////
function TDBAccessADO.UpdateDataSet(SQLCommand:string;TableName:String;
DataSet:TClientDataSet;NotUpField:Array of string): Integer;
var
ErrorCount:integer;
int1,int2:integer;
begin
if DataSet=nil then
begin
result:=S_False;
exit;
end;
if DataSet.ChangeCount=0 then
begin
result:=0;
exit;
end;
try
adoconnection1.Connected:=false;
adoconnection1.Connected:=true;
except
result:=S_False;
exit;
end; //FNotUpdateField
int1:=length(NotUpField);
if int1<>0 then
begin
setlength(FNotUpDateField,int1);
int2:=0;
for int1:=low(NotUpField) to high(notUpField) do
begin
FNotUpdateField[int2]:=NotUpField[int1];
inc(int2);
end;
end; try
adodataset1.CommandText:=SQLCommand;
clientDataset1.Data:=dataset.Delta;
DataSetProvider1.ApplyUpdates(clientdataset1.Data,0,errorcount);
if errorcount=0 then
dataset.MergeChangeLog;
result:=errorcount;
except
result:=S_False;
end;
end;