CX表的“通道”连接了数据库,发现有个字段更新不了,如下图所示:我想把上图中的6改为10,当我改为10了以后,如下图所示
再点击保存按钮,发现别的字段都保存了,“通道”字段又更新为数据库里的6如下图所示
下图是我的数据连接方式adotable的设置
更新ADOTABLE的语句
procedure Tfrm_Tag.RzTbtn_SaveClick(Sender: TObject);
begin
cxGridTbV_Tag.DataController.PostEditingData ;
DataModule1.Adotb_Tag.UpdateBatch();
b_Changed :=false ;
RzTbtn_Save.Enabled :=False;
ShowMessage('数据保存完毕!');
end;
不知道哪里出错了,保存不了数据
再点击保存按钮,发现别的字段都保存了,“通道”字段又更新为数据库里的6如下图所示
下图是我的数据连接方式adotable的设置
更新ADOTABLE的语句
procedure Tfrm_Tag.RzTbtn_SaveClick(Sender: TObject);
begin
cxGridTbV_Tag.DataController.PostEditingData ;
DataModule1.Adotb_Tag.UpdateBatch();
b_Changed :=false ;
RzTbtn_Save.Enabled :=False;
ShowMessage('数据保存完毕!');
end;
不知道哪里出错了,保存不了数据
找了好久找不到问题,请教大家了
if b=true then
begin
RowNum:=StrToInt(Copy(Self.Caption,4,4)); frm_Tag.cxGridTbV_Tag.DataController.Values[RowNum1,4]:=StrToInt(Trim(AViewInfo.DisplayValue));
frm_Tag.cxGridTbV_Tag.DataController.PostEditingData;
frm_tag.lbl1.Caption :=Trim(AViewInfo.DisplayValue);
Self.Close ;
end;
上面这个是往上面写的代码下面这个是保存代码procedure Tfrm_Tag.RzTbtn_SaveClick(Sender: TObject);
begin
cxGridTbV_Tag.DataController.PostEditingData ;
DataModule1.Adotb_Tag.UpdateBatch();
b_Changed :=false ;
RzTbtn_Save.Enabled :=False;
ShowMessage('数据保存完毕!');
end;
begin
AdoCon_1.Connected :=true ;
Adotb_1.Active :=true ;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Adotb_1.Active :=false ;
end;procedure TForm1.btn1Click(Sender: TObject);
begin
cxGridTbV_Grid1DBTableView1.DataController.PostEditingData ;
Adotb_1.UpdateBatch(arAll);
ShowMessage('保存完毕');
end;procedure TForm1.btn2Click(Sender: TObject);
begin
//一个简单的赋值,把该列变为2,但是一旦点保存按钮,改列还是读取的数据库的值,没有把2保存进去
//如果是手工输入的2的,就可以保存
cxGridTbV_Grid1DBTableView1.DataController.Values[0,1]:=2;
end;
end.
下图为手工输入