请教一个函数

wenbin304 2004-11-21 02:42:12
Public Function exesql(ByVal sql As String) As ADODB.Recordset
sql = Trim$(sql)
Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset
conn.ConnectionString = "DSN=Stud"
conn.Open
Set rst.ActiveConnection = conn
rst.LockType = adLockOptimistic
rst.CursorType = adOpenKeyset
rst.Open sql
Set exesql = rst
Set rst = Nothing
Set conn = Nothing
End Function
运行时rst.Open sql出错,没有为命令对象设置命令...??
初学vb,请帮小弟注释一下每行代码,先谢了....
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mars.CN 2004-11-22
  • 打赏
  • 举报
回复
听听他们的意见
flyingZFX 2004-11-21
  • 打赏
  • 举报
回复
不过,这样返回的结果集, 是只读的,,且 游标 只向前。
flyingZFX 2004-11-21
  • 打赏
  • 举报
回复
其实根本不用这样麻烦的


直接可以这样的,,


Dim Rs as Adodb.Recordset


set Rs=Conn.Execute(SQL,,adcmdtext)

这样就可以返回一个结果集了。

flyingZFX 2004-11-21
  • 打赏
  • 举报
回复
if len(trim$(sql) )=0 then exit function

tztz520 2004-11-21
  • 打赏
  • 举报
回复
Public Function exesql(ByVal sql As String) As ADODB.Recordset
sql = Trim$(sql)'去掉sql字符串两边的空格
Set conn = New ADODB.Connection'实例化conn
Set rst = New ADODB.Recordset'实例化rst
conn.ConnectionString = "DSN=Stud"'设置连接字符串
conn.Open'打开连接
Set rst.ActiveConnection = conn
rst.LockType = adLockOptimistic
rst.CursorType = adOpenKeyset
rst.Open sql,conn
Set exesql = rst
Set rst = Nothing
Set conn = Nothing
End Function
flyingZFX 2004-11-21
  • 打赏
  • 举报
回复
最好加上错误处理

On error goto err1

.......

exit function

err1:
debug.print err.description,vbokonly,"system msg"
err.clear
flyingZFX 2004-11-21
  • 打赏
  • 举报
回复
if len(sql )=0 then exit function
tztz520 2004-11-21
  • 打赏
  • 举报
回复
rst.Open sql,conn

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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