[求助] vba+sqlserver2008+ado 数据库数据修改的问题

[求助] vba+sqlserver2008+ado 数据库数据修改的问题,第1张

你是不是要把表中 VIP 在EXCEL中第一列数据对应行的 "status", "vipGrade" 字段修改成值 "挂失" ,"时尚VIP"

如果是这个问题,就有一个简单查询一次性就做完了。

修改数据不就是将表单中的数据更新到数据库中去吗?

我相信你会, 只是没这个思路罢了。

举例说: 可以在DBGrid控件的OnKeyPress事件中检测, 比如说按一下回车键, 切入到编辑模式(即修改Option属性的Editing为True), 可以修改表单数据, 再次按Enter回车键的时候切入到提交模式, 修改Option属性的Editing为False, 同时循环判断用户修改了哪些数据, 被修改过的数据Update到数据库。

如楼上所说, DBGrid中修改数据不安全, 你也可以生成一个临时表, 加一个提交数据的按钮, 按钮的OnClick事件中将临时表中的数据select into 原表 from 临时表, 最后清空临时表, 保留原表以备恢复数据(当然如果嫌占资源就不保留, 也可以只保留一份, 每次更新都覆盖, 至少给用户一次恢复到提交修改之前的数据的机会)。

这样我就是举个例子说, 给你个思路。

用SQL语句呗

insert

into

表1(Str-No)

select

'你原来数据的那个字段'

from

'你原来的表名'

要是有过滤条件,就加上过滤条件。

        With rs

        If MsgBox("确定删除此行吗?" & vbNewLine & _

            Fields(0) & ", " & Fields(1), vbYesNo) = vbYes Then

            If Not (EOF Or BOF) Then Delete  ’删除记录

        End If

        End WithUpdate 方法 (ADO)

保存对 Recordset 对象的当前记录所做的所有更改。

语法

recordsetUpdate Fields, Values

参数

Fields   可选。变体型,代表单个名称;或变体型数组,代表需要修改的字段(单个或多个)名称或序号位置。

Values   可选。变体型,代表单个值;或变体型数组,代表新记录中字段(单个或多个)值。

说明

使用 Update 方法保存自从调用 AddNew 方法,或自从现有记录的任何字段值发生更改之后,对 Recordset 对象的当前记录所作的所有更改。Recordset 对象必须支持更新。

要设置字段值,请进行下列某项 *** 作:

给 Field 对象的 Value 属性赋值并调用 Update 方法。

传送字段名和值作为 Update 调用的参数。

将字段名数组和值数组传送给 Update 调用。

在使用字段和值数组时,两个数组中必须有相等数量的元素,同时字段名的次序必须与字段值的次序相匹配。字段和值的数量及次序不匹配将产生错误。

如果 Recordset 对象支持批更新,那么可以在调用 UpdateBatch 方法之前将一个或多个记录的多个更改缓存在本地。如果在调用 UpdateBatch 方法时正在编辑当前记录或者添加新记录,那么 ADO 将自动调用 Update 方法,以便在批更改传送到提供者之前将所有挂起的更改保存到当前记录。

如果在调用 Update 方法之前移动出正在添加或编辑的记录,那么 ADO 将自动调用 Update 以便保存更改。如果希望取消对当前记录所做的所有更改或者放弃新添加的记录,则必须调用 CancelUpdate 方法。

调用 Update 方法后当前记录仍为当前状态。

以上就是关于[求助] vba+sqlserver2008+ado 数据库数据修改的问题全部的内容,包括:[求助] vba+sqlserver2008+ado 数据库数据修改的问题、Delphi中可不可以在ADOtable表上直接修改数据、delphi语言用Ado连接数据库Access要对她进行修改怎么编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9362668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存