| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1360 人关注过本帖
标题:求助: executesql() 的用法!
只看楼主 加入收藏
sniperzhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-3-5
收藏
 问题点数:0 回复次数:8 
求助: executesql() 的用法!

本人在学习 VB的过程中遇到了一点困难,请哪位高手指点一二??

ExecuteSQL(a,b) 这个函数怎么用?

a,b是两个参数,他们都各代表什么呀??

搜索更多相关主题的帖子: executesql 用法 ExecuteSQL 函数 
2006-03-07 15:32
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
ExecuteSQL应该是用户自己定义的函数吧?从名字开应该是连接数据库执行SQL语句,a,b代表什么嘛,那就要看你传什么给他了,不过a,b中有一个是代表要执行的SQL语句,另一个就不大清楚

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-03-07 15:37
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
是自定义的,VB没有这个东西,如果是我写的话,A是SQL语句,B是recored对象

已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-03-07 16:46
sniperzhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-3-5
收藏
得分:0 

终于找到了,
呵呵,两位都是高手哦,
说得都对

多谢啦~~~~~~~,可是还有一个小小的问题,源代码如下, 好象有错误,两为再帮偶看看呗???

Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String

On Error GoTo ExecuteSQL_Error

sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function

ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function


2006-03-08 15:59
sniperzhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-3-5
收藏
得分:0 

没办法,自己实在是调不出来

自己再顶一下,各位帮忙再看一下!


2006-03-10 12:50
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 

没有问题啊,上面的意思是这样的

SQL :是你要执行的语句啊
msgstring:是在执行没有记录集返回时返回的成功信息的,调用时用一个变量传过来,是地址传递的
最后返回结果是一个记录集啊。


Dim strSql As String
Dim strmsg As String
Dim rs As New ADODB.Recordset

strSql = "select * from test"
Set rs = ExecuteSQL(strSql, strmsg)


因为以上代码里有这句
Set cnn = New ADODB.Connection
cnn.Open ConnectString
ConnectString这个东西应该是个全局变量保存着连接字符串,否则会出错的,可以修改一下传入连接就好了,也可以屏掉


已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-03-10 17:42
sniperzhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-3-5
收藏
得分:0 

恩 ,ConnectionString 倒是有,这我明白,

cnn.Execute SQL   这句不太理解

还有结实 在定义 记录集对象的时候  关键字  NEW 有何用处呢??
         


2006-03-10 21:36
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
cnn.Execute SQL是执行操作性语句的,无记录集返回,如INSERT,UPDATE,DELETE等就可以用。

new 是对像实便化

已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-03-11 10:31
sniperzhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-3-5
收藏
得分:0 

恩恩,明白喽

NEW 的作用 不就是跟 JAVA 里的 一样用处嘛,懂了

最后还有一个问题就是 
Set ExecuteSQL = rst

Set ExecuteSQL() = rst 
的作用是不是一样呢??


2006-03-11 13:47
快速回复:求助: executesql() 的用法!
数据加载中...
 
   



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

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