DBGrid问题 ( 积分: 40 )

  • 主题发起人 主题发起人 爱上猫的鱼
  • 开始时间 开始时间

爱上猫的鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
case DBGrid1.SelectedIndex of //需要解释
2:
begin
str:=InputBox('Modify','更改为',DBGrid1.SelectedField.AsString);//需要解释
try
Table1.Edit;
DBGrid1.SelectedField.AsString:=str;//DBGrid1.SelectedField.AsString需要解释
except
ShowMessage('input error');
Exit;
end;
end;
end;
end;
procedure TForm1.DBGrid1Exit(Sender: TObject);
begin
if MessageDlg('确定要保存吗?',mtConfirmation,[mbyes,mbno],0)=mryes then //解释
begin
Table1.ApplyUpdates;//解释
Table1.CommitUpdates;//解释
end
else
begin
Table1.CancelUpdates;//解释
end;
end;
 
1:选择的表中的行指针所在位置
2:表中对应字段
3:提取出所在指证的字段的值
4:事件
5,6,7:应该调用了什么过程吧
------个人理解.
 
楼上的瞎说就是的,害人呀!
 
case DBGrid1.SelectedIndex of //当前选择格子所属于“列”号,最左为0,向右递增。
2: //第二列
begin
str:=InputBox('Modify','更改为',DBGrid1.SelectedField.AsString);//打开输入窗,里面显示当前格子的内容,让用户修改
try
Table1.Edit;
DBGrid1.SelectedField.AsString:=str;//修改当前格子的内容,这个程序有错的,因为修改的数据还在Dataset的缓冲区,要Table1.Post这样才有机会修改进入数据库,但又未必,因为还有事务等等多方面的缓冲,所以不一定就要内存表。
except
ShowMessage('input error');
Exit;
end;
end;
end;
end;


procedure TForm1.DBGrid1Exit(Sender: TObject);//输入焦点离开DBGrid1
begin
if MessageDlg('确定要保存吗?',mtConfirmation,[mbyes,mbno],0)=mryes then //弹出对话框,问你是否保存
begin //是
Table1.ApplyUpdates;//将缓冲的数据写入数据库
Table1.CommitUpdates;//清空缓冲
end
else
begin //否
Table1.CancelUpdates;//回复原来的数据,撤销修改,程序写的不好,有没有修改都问保存,很烦人
end;
以上抄外星人的,有问题找外星人算账,跟我无关
 
多人接受答案了。
 
后退
顶部