首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB6中执行SQL的update命令的有关问题

2012-09-29 
VB6中执行SQL的update命令的问题下面的修改语句执行起来系统没有任何报错,但是数据库的记录就是没有修改过

VB6中执行SQL的update命令的问题
下面的修改语句执行起来系统没有任何报错,但是数据库的记录就是没有修改过来。请问是什么原因?

  hetong = Left(Combo1.Text, 14)
  
  Sql = "update dbo.SM_SALECTRT set CONTRACT_STATUS = 111 where SALECONTRACT_NAME='" & hetong & "'"
  Rs.Open Sql, CN, 3, 1
  MsgBox "修改成功"
  rs.close


[解决办法]
打断点 然后 将 sql 复制到查询分析器重 执行 然后 测试 是否 sql错误
[解决办法]
多半是SQL语句的条件不成立,检查hetong变量的值数据表对应的字段中是否有记录
[解决办法]
Rs.Open返回一个记录集,并不会执行update语句:
 
dim n as long
hetong = Left(Combo1.Text, 14)
 
Sql = "update dbo.SM_SALECTRT set CONTRACT_STATUS = 111 where SALECONTRACT_NAME='" & hetong & "'"
'Rs.Open Sql, CN, 3, 1
CN.execute sql,n
MsgBox "修改了"& n & "行"
cn.close

[解决办法]

用 Open 方法执行无记录集返回的 SQL 语句,也能够运行。

但好的编程习惯还是应该用 Execute 方法。

有记录行返回:
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)

无记录行返回:
connection.Execute CommandText, RecordsAffected, Options

Dim RecordsAffected As Long

CN.execute "Update SM_SALECTRT Set CONTRACT_STATUS = 111 Where SALECONTRACT_NAME='" & hetong & "'", RecordsAffected

If RecordsAffected Then
MsgBox "修改了"& RecordsAffected & "条记录
Else
MsgBox "没有符合条件的记录"
End If

热点排行