我想通过双击DBGrid1实现table1.post但是Delphi显示:“Dataset not in edit or insert mode”请问在哪里 没有设置正确呢? 我想通过双击DBGrid1实现table1.post但是Delphi显示:“Dataset not in edit or insert mode”请问在哪里 没有设置正确呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你要先把dataset设为edit状态才能修改和post,当你insert或append一条记录时dataset会自动变成edit状态。但处于browse状态的要通过dataset.edit来使dataset进入edit状态。但一般datasource的autoedit属性为true,会使关联的dataset自动进入edit状态,你可以看看这个dbgrid的datasource.autoedit是否为true。 with datasource1 doif(dataset.state in[dsinsert,dsedit]) thenpost;================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] table1.edit;或者table1.append;试验一下 这是我的源代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, DBTables;type TForm1 = class(TForm) DataSource1: TDataSource; Table1: TTable; DBNavigator1: TDBNavigator; DBGrid1: TDBGrid; procedure DBGrid1DblClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; a:ttime;implementation{$R *.dfm}procedure TForm1.DBGrid1DblClick(Sender: TObject);begin//showmessage(form1.DBGrid1.Columns.Grid.Fields[0].Text);a:=time;showmessage(timetostr(a));///////////////////////////////////////Table1.FieldValues['上机时间'] := timetostr(a);Table1.Post;///////////////////////////////////////就是这里有问题~不能自动加时间~end;end. Table1.edit;Table1.FieldValues['上机时间'] := timetostr(a);Table1.Post; Table1.post;运行是这样的。TABLE1.EDIT; //将库变为编辑状态,必不可少//赋值Table1.FieldValues['上机时间'] := timetostr(a);//写到数据库中。Table1.Post; if table1.state in [dsinsrert,dsedit] then table1.post if table1.state in [dsinsert ,dsedit] then table1.post 简单问题:向dbgrid插入一行值的函数 如何实现在不同规格的显示器(尺寸大小和分辨率不同)下运行程序时使窗体和其中的控件随之而变呢? 大家来比较一下serverSokcet与clientSocket和idTcpServer与idTcpClient两组通讯组件的异同 完全控制第三方程序 在线等待:请帮帮mm 我要做个最简单的打印!!求救! 怎样把对数据库的炒作转化为sql语句?最好有代码 各位高手,有没有DELPHI中精确计数器的控件 关于计算字段,有难度。 Delphi中动态数组如何释放?请各位大哥帮忙。 如何判断一个文件是不是文件夹 怎样得到和修改显示器的分辩率
但一般datasource的autoedit属性为true,会使关联的dataset自动进入edit状态,你可以看看这个dbgrid的datasource.autoedit是否为true。
with datasource1 do
if(dataset.state in[dsinsert,dsedit]) then
post;================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
试验一下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, DBTables;type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
a:ttime;
implementation{$R *.dfm}procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
//showmessage(form1.DBGrid1.Columns.Grid.Fields[0].Text);
a:=time;
showmessage(timetostr(a));///////////////////////////////////////
Table1.FieldValues['上机时间'] := timetostr(a);
Table1.Post;
///////////////////////////////////////就是这里有问题~不能自动加时间~end;end.
Table1.FieldValues['上机时间'] := timetostr(a);
Table1.Post;
TABLE1.EDIT; //将库变为编辑状态,必不可少
//赋值
Table1.FieldValues['上机时间'] := timetostr(a);
//写到数据库中。
Table1.Post;