小弟有一个问题:(现用ACCESS数据库),如何返回新增记录状态?????
详细:窗体上有一个DBGRID控件,在新增记录后。DBGRID控件处理插入状态,
如要移动记录则不可以,又返回新增状态。(不设其ENDAND属性),就是总是保持在插入
状态(未成功保存数据之前).
详细:窗体上有一个DBGRID控件,在新增记录后。DBGRID控件处理插入状态,
如要移动记录则不可以,又返回新增状态。(不设其ENDAND属性),就是总是保持在插入
状态(未成功保存数据之前).
解决方案 »
- 分析一下下面的代码!!在delphi 中如何实现OSWritePrivateProfileString()????
- 求一段关于最大值的SQL语句。
- 只给钱,不给分!--帮我解决一个网站资料定向搜索问题?高手请进
- 妈的,我骂FS,这个了色什么意思啊?另一贴子。。。。。
- 关于sql语句
- 请各位帮我看看这个过程调用,为什老出错?
- 怎么样向另一个应用程序发送消息,执行右击事件和Ctrl+R事件,向下箭关事件
- 关于协调对象的使用
- 请问有没有组合TComboBox和TTreeView很好的一个控件?
- 如何在程序中调用,使用windows下的应用软件,如录音机。方法越多越好,谢谢
- 感谢njxdh
- sock5代理服务器
如果你想在DBGrid中只显示新增记录的话可以用ADO控件是可以实现的,在李维的关于ADO/COM+/MTS的书上有,自己看吧,
如果要保存用户的话,如果保存不成功时(如出现数据重复等),则DBGRID继续返回
新增状态。
begin
if DataSet.State=dsInsert then
if Application.MessageBox('是否保存记录', PChar(Application.Title), MB_ICONQUESTION or MB_YESNOCANCEL or
MB_DEFBUTTON1) then
try
DataSet.Post;
except
DataSet.Abort;
end
else DataSet.Cancel;
end;
数据集的On
if DataSet.State=dsInsert then
if Application.MessageBox('是否保存记录', PChar(Application.Title), MB_ICONQUESTION or MB_YESNOCANCEL or
MB_DEFBUTTON1) then
begin
try
DataSet.Post;
except
DataSet.Abort;
end;
end
else DataSet.Cancel;
end;
上面的代码漏了一个begin end;
begin
if DataSet.State=dsInsert then
if Application.MessageBox('是否保存记录', PChar(Application.Title), MB_ICONQUESTION or MB_YESNOCANCEL or
MB_DEFBUTTON1) then
begin
try
DataSet.Post;
except
Abort;
end;
end
else DataSet.Cancel;
end;
if DataSet.State=dsInsert then
if Application.MessageBox('是否保存记录', PChar(Application.Title), MB_ICONQUESTION or MB_YESNOCANCEL or
MB_DEFBUTTON1) then
begin
try
DataSet.Post;
except
DataSet.Abort;
end;
end
else DataSet.Cancel;
end;
在数据集的AfterScroll下写相关的东东不就行了!
还有一小问题, 调用ABORT后, 如何返回初始状态。