红米note3闪屏怎么解决:vb连接SQL数据库

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 07:46:21
我用VB已经连接上数据库了,可是在连接以后打开另外的窗体的时候,报错

代码如下:
Private Sub Command1_Click()
Dim strSQL As String
Dim ADOrs As New Recordset
ADOrs.ActiveConnection = ADOcn

strSQL = "select * from stu_score"
strSQL = strSQL + " where 学号='" + Combo1.Text + "'"
strSQL = strSQL + "and 课程号='" + Combo2.Text + "'"
ADOrs.Open strSQL

If Not ADOrs.EOF Then
MsgBox "该记录已经存在,不能继续增加", vbCritical + vbOKOnly
Exit Sub
End If

strSQL = "insert into stu_score(学号,课程号,成绩)"
strSQL = strSQL + "values('" + Combo1.Text + "','"
strSQL = strSQL + Combo2.Text + "'," + Str(Val(Text3.Text)) + ")"

ADOcn.Execute strSQL
MsgBox "已成功添加新记录", vbQuestion + vbOKOnly

End Sub

Private Sub Form_Load()
Dim ADOrs As New Recordset

ADOrs.ActiveConnection = ADOcn

ADOrs.Open "Select 学号 From stu_info Order By 学号"
Combo1.Clear
Do While Not ADOrs.EOF
Combo1.AddItem Trim(ADOrs.Fields("学号"))
ADOrs.MoveNext
Loop
ADOrs.Close

ADOrs.Open "select 课程号 from stu_course order by 课程号"
Combo2.Clear
Do While Not ADOrs.EOF
Combo2.AddItem Trim(ADOrs.Fields("课程号"))
ADOrs.MoveNext
Loop
ADOrs.Close

End Sub
谁能帮我看看,哪里错误了,刚提示ADO,可是我做引用了啊

1、声明ADO对象应该这样写:
Dim ADOrs As New ADODB.Recordset
Dim ADOcn As New ADODB.Connection

ADOcn.ConnectionString ="..."
ADOcn.Open
recordset.Open Source, ActiveConnection, CursorType, LockType, Options

2、SQL语句的问题
strSQL = strSQL + "and 课程号='" + Combo2.Text + "'"
本句中 and 前加上一个空格。

Dim ADOrs As New Recordset
ADOrs.ActiveConnection = ADOcn

这两句看着不顺眼
ADOrs是什么?
ADOcn又是什么?
改成Dim ADOrs As New ADODB.Recordset试试?

语句:ADOrs.ActiveConnection = ADOcn

应改为:
SET ADOrs.ActiveConnection = ADOcn