| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1903 人关注过本帖
标题:有错,请各位帮忙改正,能正常运行就好
只看楼主 加入收藏
非法访问
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-4-15
收藏
 问题点数:0 回复次数:14 
有错,请各位帮忙改正,能正常运行就好
有错,请各位帮忙改正,能正常运行就好
搜索更多相关主题的帖子: 运行 
2004-04-15 09:17
xingehappy
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2004-4-14
收藏
得分:0 

将你的源程序也上传上来.让大家看看哪里有问题!!


我又回頭去飛,去追.就算我追到最后只剩冰雪.天都為我傷悲.冷的愛快枯萎.任漫天風雪覆蓋我的心碎........
2004-04-15 10:25
xingehappy
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2004-4-14
收藏
得分:0 
上传的方法请看论坛里帮助文件.

我又回頭去飛,去追.就算我追到最后只剩冰雪.天都為我傷悲.冷的愛快枯萎.任漫天風雪覆蓋我的心碎........
2004-04-15 10:26
xucome
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-5-10
收藏
得分:0 

Dim con As ADODB.Connection Dim rs As ADODB.Recordset

Private Sub db() Set con = New ADODB.Connection Set rs = New ADODB.Recordset con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=xu;Data Source=ULSVR2;" con.Open End Sub

Private Sub Command1_Click() '删除 db Dim sql As String sql = "delete from book where id='" & Text1.Text & "' or name ='" & Text2.Text & "'" rs.Open sql, con, adOpenStatic, adLockOptimistic, adCmdText 'Dim cnt As Long 'cnt = rs.RecordCount 'If cnt = 0 Then ' MsgBox "所删除数据不在数据库中" 'Else ' MsgBox "delete" 'End If End Sub

为什么'cnt = rs.RecordCount

会出现"operation is not allowed when the object is close"请问是什么出错

2004-05-10 15:59
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

晕倒,Delete语句执行后不返回你操作所影响的记录数

RecordCount属性返回的是记录的条数,一般是通过Select查询语句,或者执行存储过程返回记录集,或者是打开表是返回记录集


天津网站建设 http://www./
2004-05-10 16:16
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
收藏
得分:0 
你的rs.Open sql, con, adOpenStatic, adLockOptimistic, adCmdText语句执行没有成功,所以rs是关闭(close)的.

I am a big fan of c plus plus.
2004-05-10 16:17
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

楼上说的好像不对哦。

你可以先用Select语句查询一下是否存在符合条件的记录,然后再执行删除操作!


天津网站建设 http://www./
2004-05-10 16:27
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

我给你的另一个解决方案,使用Command对象的ExeCute方法可以得到操作影响的记录行数

Option Explicit

Dim con As ADODB.Connection

Private Sub db() Set con = New ADODB.Connection con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=xu;Data Source=ULSVR2;" con.Open End Sub

Private Sub Command1_Click() '删除 db Dim sql As String Dim cmd As New ADODB.Command Dim cnt As Long '定义变量,返回数据操作影响的行数

sql = "delete from book where id='" & Text1.Text & "' or name ='" & Text2.Text & "'" Set cmd.ActiveConnection = con cmd.CommandText = sql cmd.Execute cnt

If cnt = 0 Then MsgBox "所删除数据不在数据库中" Else MsgBox "已成功删除" & cnt & "条数据!" End If

End Sub


天津网站建设 http://www./
2004-05-10 16:53
xucome
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-5-10
收藏
得分:0 

能不能给我解释一下这几条语句,谢谢

Set cmd.ActiveConnection = con cmd.CommandText = sql cmd.Execute cnt

2004-05-10 17:28
xucome
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-5-10
收藏
得分:0 

还有这条

Dim cmd As New ADODB.Command

2004-05-10 17:29
快速回复:有错,请各位帮忙改正,能正常运行就好
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017679 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved