| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 914 人关注过本帖
标题:[原创]关于公共模块的一个问题````请高手指点````
只看楼主 加入收藏
譕鈊ジ変懷
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-5-13
收藏
 问题点数:0 回复次数:4 
[原创]关于公共模块的一个问题````请高手指点````

在项目资源管理器中添加一个Module,保存为Module.bas

添加函数ExecuteSQL,代码如下:

Public Function ExecuteSQL(ByValSQL_As String,MsgString As String)_As ADODB.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,_adLockOptinistic

'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

ExecuteSQL函数 有两个参数:SQLMsgString.其中SQL中用来存放需要执行的SQL 语句,MsgString用来返回执行行的提示信息。

请高手帮我看看这段代码的错误在有哪些啊? 我现在就知道红字的那个 可是看不懂```` 请高手指点一下````

搜索更多相关主题的帖子: 模块 资源管理器 Times 
2005-05-20 16:20
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
cnn.Open ConnectString 那你这个函数还得需要一个参数,那就是连接字符串,这个在那里传进来?
2005-05-20 21:41
譕鈊ジ変懷
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-5-13
收藏
得分:0 
谢谢上面的GG 这个是我在书上看的一个管理系统 我想试着做出来看看 可是怎么也做不对``` 书上是这么写的:

在项目资源管理器中添加一个Module,保存为Module.bas

添加函数ExecuteSQL,代码如下

Public Function ExecuteSQL(ByValSQL_As String,MsgString As String)_As ADODB.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,_adLockOptinistic

'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

ExecuteSQL函数 有两个参数:SQLMsgString.其中SQL中用来存放需要执行的SQL 语句,MsgString用来返回执行行的提示信息。

ExecuteSQL函数中使用了Connect String函数,这个函数用来连接数据库,代码如下:

Public Function ConnectString()_

As String

ConnectString="FileDSN=studentinfo.dsn;UID=sa;PWD="

End Function

由于在以后的程序中,需要频繁检查各种文本框的内容是否为空,这里定义了Testtxt函数,代码如下:

Public Function Testtxt(txt As String)As Boolean

If Trim(txt)=""Then

Testtxt=False

Else

Testtxt=Ture

End If

End Function

如果文本框内容为空时,函数将返回True ,否者将返回False.

由于该系统启动后,需要对用户进行判断。如果是授权用户,将进入系统,否则将停止程序运行。这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。代码如下:

Sub Main()

Dim fLogin As New frmlogin

fLogin.Show vbModal

If Not fLogin.OK Then

'Login Failed so exit app

End If

Unload fLogin

Set fMainForm=New frmMain

fMainForm.show

End Sub

过程Main将在系统启动时首先执行,这就保证对用户的管理。

系统需要知道登陆用户的信息,定义全局变量UserName:

Public UserName As String

不晓得里面还有多少错误在里面

GG能帮忙看看吗?~~~

2005-05-21 03:23
wellhide
Rank: 2
来 自:山西晋中
等 级:论坛游民
帖 子:13
专家分:20
注 册:2012-3-5
收藏
得分:0 
Public Function ConnectString()_As string
后面必须返回一个双击的字符串(returns   a   DB   ConnectString

ConnectString="FileDSN=studentinfo.dsn;UID=sa;PWD="
这句中“pwd= ”



2012-03-25 20:19
wellhide
Rank: 2
来 自:山西晋中
等 级:论坛游民
帖 子:13
专家分:20
注 册:2012-3-5
收藏
得分:0 
'Login Failed so exit app
后加一个end结束窗体

2012-03-25 20:26
快速回复:[原创]关于公共模块的一个问题````请高手指点````
数据加载中...
 
   



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

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