我建立了一个SuperMarket的数据库,里面已经那好需要的和输入好举例的数据了,VB上窗口都已经编辑好并输入代码,VB里的部件都已经加载好了。可是总会出现一点点小问题,经探索发现是连接不上数据库的问题为主,数据库服务器也启动了(服务器:PC2013030610BAJ;服务:SQL Server)详情请看代码:
Public Sub Main() '程序入口
App.Title = "超市POS系统"
ReadInf
frmLogin.Show
End SubPublic Sub ReadInf() '获取POS机配信息
Dim strTmp As String, str1() As String
On Error GoTo err1 '错误处理
Open App.Path & "\DATA\base.inf" For Input As #1 '打开文件
If Not EOF(1) Then '若文件未结束
Line Input #1, strTmp '读入一行内容
End If
Close #1 '关闭打开的文件
strTmp = Trim(strTmp) '去掉尾部空格
If strTmp <> "" Then '若字符串不为空
str1 = Split(strTmp, ",") '将字符串分解为数组
POSID = str1(0) '将POS机序号保存到全局变量
strSaleID = POSID & Format(str1(1), "0000000") '由POS机号作第1位生成销售单编号
End If
Exit Sub
err1:
POSID = 1 '设置为1号POS机
strSaleID = POSID & Format(1, "0000000") ' '由POS机号作第1位
End Sub
Private Sub Connect() '连接数据库
If IsConnect = True Then '如果连接标记为真,则返回。否则会出错
Exit Sub
End If
On Error GoTo DbOpenErr
Set cnn = New ADODB.Connection '关键New用于创建新对象cnn
With cnn
.Provider = "sqloledb.1"
.ConnectionString = "data source=.;initial catalog=SuperMarket;Persist Security Info=False;uid=sa;password=;"
'"driver={sql server};server=(local);Persist Security Info=False;User ID=sa;password=;"
'"driver={sql server};server=(local);database=SuperMarket;integrated security=True;uid=sa;password="
.ConnectionTimeout = 10
.Open[/b] 操作说明:在这里打开的时候会有点延迟,可能是因为要打开数据库的原因吧,所以有点慢,接着就是往下执行的,之后就提示下面MsgBox语句了
End With
IsConnect = True '设置连接标记,表示已经连接到数据库
Exit Sub
DbOpenErr:
If err = -2147467259 Then
Set cnn = Nothing
MsgBox "连接MS SQL Server数据库失败!" & vbCrLf & vbCrLf & "请检查配置是否完好,数据库SuperMarket是否存在?", vbOKOnly + vbInformation, "超市POS前台管理系统"
End
End If
End Sub
请问我这代码有没有错误呢,此前试过这里没错误,反而是后面的下面语句有错误。我的代码应该没错误啊!
Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset '执行数据库查询语句
Dim rst As New ADODB.Recordset
DB_Connect '连接到数据库
Set rst.ActiveConnection = cnn '设置rst的ActiveConnection属性,指定与其关联的数据库连接
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic '设置锁定类型
rst.Open TmpSQLstmt '打开记录集
Set QueryExt = rst '返回记录集
End FunctionSQLvb连接代码数据库
Public Sub Main() '程序入口
App.Title = "超市POS系统"
ReadInf
frmLogin.Show
End SubPublic Sub ReadInf() '获取POS机配信息
Dim strTmp As String, str1() As String
On Error GoTo err1 '错误处理
Open App.Path & "\DATA\base.inf" For Input As #1 '打开文件
If Not EOF(1) Then '若文件未结束
Line Input #1, strTmp '读入一行内容
End If
Close #1 '关闭打开的文件
strTmp = Trim(strTmp) '去掉尾部空格
If strTmp <> "" Then '若字符串不为空
str1 = Split(strTmp, ",") '将字符串分解为数组
POSID = str1(0) '将POS机序号保存到全局变量
strSaleID = POSID & Format(str1(1), "0000000") '由POS机号作第1位生成销售单编号
End If
Exit Sub
err1:
POSID = 1 '设置为1号POS机
strSaleID = POSID & Format(1, "0000000") ' '由POS机号作第1位
End Sub
Private Sub Connect() '连接数据库
If IsConnect = True Then '如果连接标记为真,则返回。否则会出错
Exit Sub
End If
On Error GoTo DbOpenErr
Set cnn = New ADODB.Connection '关键New用于创建新对象cnn
With cnn
.Provider = "sqloledb.1"
.ConnectionString = "data source=.;initial catalog=SuperMarket;Persist Security Info=False;uid=sa;password=;"
'"driver={sql server};server=(local);Persist Security Info=False;User ID=sa;password=;"
'"driver={sql server};server=(local);database=SuperMarket;integrated security=True;uid=sa;password="
.ConnectionTimeout = 10
.Open[/b] 操作说明:在这里打开的时候会有点延迟,可能是因为要打开数据库的原因吧,所以有点慢,接着就是往下执行的,之后就提示下面MsgBox语句了
End With
IsConnect = True '设置连接标记,表示已经连接到数据库
Exit Sub
DbOpenErr:
If err = -2147467259 Then
Set cnn = Nothing
MsgBox "连接MS SQL Server数据库失败!" & vbCrLf & vbCrLf & "请检查配置是否完好,数据库SuperMarket是否存在?", vbOKOnly + vbInformation, "超市POS前台管理系统"
End
End If
End Sub
请问我这代码有没有错误呢,此前试过这里没错误,反而是后面的下面语句有错误。我的代码应该没错误啊!
Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset '执行数据库查询语句
Dim rst As New ADODB.Recordset
DB_Connect '连接到数据库
Set rst.ActiveConnection = cnn '设置rst的ActiveConnection属性,指定与其关联的数据库连接
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic '设置锁定类型
rst.Open TmpSQLstmt '打开记录集
Set QueryExt = rst '返回记录集
End FunctionSQLvb连接代码数据库
解决方案 »
- load data local infile "d:\\中文.txt" into table p4 提示找不到数据,非中文就可以
- 判断有顺序的一组数中,是否有连续n个数均为正?急急急
- MYSQL 内存表 有能存中文的字段类型么
- show processlist的结果从什么地方得到的
- mysql5。1是否有在线应用的例子
- 求一个排名并修改数据的实现
- Range check error
- 请教大家jsp连接mysql数据库问题(急!)up有分
- mysql 连接问题(在线等待,解决马上给分)
- 求写批量改值的SQL语句
- mysql 多表查询,order by 时不使用索引
- mysql 移动后网站数据不能添加。
不是服务器启动就行了的吗?所有服务在安装的时候都已经开了。 驱动集我不懂,怎么弄?