关于DataGrid与Adodc取消添加的问题

PM20060308001 2006-03-10 07:14:46
在一个窗体中放:
一个datagrid
三个textbox
一个adodc
二个command
adodc连接数据库中一个表(表中有A,B,C三列)
datagrid,textbox都连接adodc
textbox的datafield属性分别为A,B,C
======================================
添加代码如下:
Private Sub Command1_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub Command2_Click()
Adodc1.Recordset.CancelUpdate
End Sub
===========================================
单击commmand1时正常,但是不输入任何数据,
这时单击command,则会提示:
“无法插入入空行,行必须至少有一个列值集”
(对话框标明为:Microsoft DataGrid Control)
单击确定
提示:“操作已取消”,单击“取消”
继续提示:
“无法插入入空行,行必须至少有一个列值集”
(对话框标明为:Microsoft DataGrid Control)
请问这是什么回事?
有什么办法解决?让取消添加的操作顺利进行?
...全文
198 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
byeshuang 2006-03-17
  • 打赏
  • 举报
回复
不是cancelupdate
是CancelBatch
daisy8675 2006-03-16
  • 打赏
  • 举报
回复
Recordset的Open語法如下:
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
其實CursorTypeEume是指定用語Recordset物件資料的指標類型, LockTypeEnum指定編輯時設定在記錄上的鎖定類型.
(具體常數值請查MSDN)。
在這個問題上,我們完全可以借用將Recordset進行批次開啟,在確定修改的時候進行批次更新,不確定修改的時候,數據自然會恢復原來的數值。

即你在打开的时候写成:rs.open strsql,conn,adOpenStatic, adLockBatchOptimistic

只有在rs.UpdateBatch下数据才会更新,如果你没有UpdateBatch,数据会自动恢复
of123 2006-03-16
  • 打赏
  • 举报
回复
CancelUpdate 方法 (ADO)


取消在调用 Update 方法前对当前记录或新记录所做的任何更改。

语法

recordset.CancelUpdate

说明

使用 CancelUpdate 方法可取消对当前记录所作的任何更改或放弃新添加的记录。除非所做的更改是可以用 RollbackTrans 方法回卷的事务的一部分,或者是可以用 CancelBatch 方法取消的批更新的一部分,否则在调用 Update 方法后将无法撤消对当前记录或新记录所做的更改,

如果在调用 CancelUpdate 方法时添加新记录,则调用 AddNew 之前的当前记录将再次成为当前记录。

****如果尚未更改当前记录或添加新记录,调用 CancelUpdate 方法将产生错误。****

Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.CancelUpdate
End Sub
PM20060308001 2006-03-16
  • 打赏
  • 举报
回复
而问题是:
set datagrid.datasource=adodc1时
使用addnew
再使用cancelupdate时就报错
byeshuang 2006-03-15
  • 打赏
  • 举报
回复
Private Sub Command2_Click()
Adodc1.Recordset.CancelBatch
End Sub
内容概要:本文围绕掺铒光纤放大器(EDFA)的分析模型展开深入的模拟研究,重点在于利用Matlab代码实现EDFA工作过程的数值仿真,涵盖其增益特性、噪声系数以及在不同泵浦功率和波长条件下的性能表现。研究通过建立基于速率方程和传输方程的物理模型,精确描述铒离子的能级跃迁、自发辐射、受激辐射及吸收等核心物理机制,进而构建可用于光通信系统级仿真的EDFA模块。该模型不仅能够准确预测单级EDFA的输出光谱和增益平坦度,还支持对多级放大链路的级联效应进行分析与优化,具备良好的实用性、灵活性和可扩展性,为光通信系统的设计与性能评估提供了可靠的理论依据和工具支持。; 适合人群:具备一定光学通信基础知识和Matlab编程能力的研究生或科研人员,尤其适用于从事光纤通信系统仿真、光器件建模与性能优化等相关领域的工程技术人员。; 使用场景及目标:①用于高校及科研机构中关于光放大器原理的教学演示与科研分析;②支撑长距离、大容量光纤传输系统中多级EDFA链路的性能预测、噪声累积分析与优化设计;③作为典型有源光器件建模的学习案例,帮助理解复杂光电器件的数值仿真方法与物理机制。; 阅读建议:建议读者结合光通信相关理论知识,仔细研读模型的数学推导过程,并动手运行与调试所提供的Matlab代码,深入探究泵浦方式、光纤长度、掺杂浓度等关键参数对EDFA性能的影响规律,进一步可尝试将该模型集成至更大规模的光网络仿真平台中进行联合系统分析。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧