【求助】为什么selcet查询结果一直是-1
学生成绩管理系统.rar
(35.79 KB)
在实践学习一个学生管理系统,为什么select语句的查询结果一直是-1呢?不管有没有查到,很奇怪,请大师们指点!Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "添加专业不能为空,请重新输入", vbOKOnly + vbExclamation, "系统提示"
Text1.SetFocus 'vbExclamation是感叹号
Else
'加入专业表prof
'首先要判断,要添加的专业,在专业表中是否已经存在
sqltxt = "select * from prof where 专业='" & Trim(Text1.Text) & "'"
Set rs = exesql(sqltxt)
Label1.Caption = rs.RecordCount
If rs.RecordCount <> 0 Then
MsgBox "已存在相同专业,不能添加", vbOKOnly + vbCritical, "系统提示"
Text1.SetFocus 'vbCritical是出错符号
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Else
Adodc1.Recordset.AddNew '使adodc1可编辑
Adodc1.Recordset.Fields("专业") = Trim(Text1.Text) '赋值
Adodc1.Refresh '刷新
List1.AddItem (Trim(Text1.Text)) 'list1增加专业内容
Text1.Text = "" '添加成功后,text1内容清空
MsgBox "添加专业成功", vbOKOnly, "系统提示"
End If
rs.Close
End If
End Sub
【模块中的exesql功能】
Public Function exesql(ByVal sql As String) As ADODB.Recordset '执行查询语句
sql = Trim(sql) '查询语句
Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset
'打开数据库
conn.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\stud.mdb"
'执行查询语句
Set rst = conn.Execute(sql)
'返回
Set exesql = rst
'rst.Close
'conn.Close
Set rst = Nothing '节约资源,如果用close,则关闭了数据库,在调用时会出现对象关闭错误
Set conn = Nothing
End Function
附件: