3265错误,帮忙给说一下,老是这种错误
Option Explicit
Dim temp As New ADODB.Recordset
Public db As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strSQL As String
Dim strsql1 As String
Private Sub Cmddelete_Click()
rst.Delete
rst.Requery
If rst.RecordCount() = 0 Then '累计记录个数
clearfield
hidebutton
MsgBox "数据库中已经没有记录了!"
Exit Sub
End If
rst.MoveNext
If rst.EOF Then
rst.MoveLast
End If
filltext '填充文本框
adodclass.Refresh
End Sub
Private Sub Cmdexit_Click()
db.Close
Unload Me
frmmain.Show vbModal
End Sub
Private Sub cmdfind_Click()
Dim findstr As String
findstr = InputBox("请输入要查找的班级名称:", "查找提示窗口")
rst.find "classname='" & findstr & "'"
If rst.EOF = True Then
MsgBox "没有要查询的数据!"
Exit Sub
End If
filltext
End Sub
Private Sub cmdfirst_Click()
rst.MoveFirst
filltext
End Sub
Private Sub Cmdlast_Click()
rst.MoveLast
filltext
End Sub
Private Sub Cmdmodify_Click()
strSQL = "SELECT * FROM bspeciality"
If Txtmajorid.Text = "" Then
MsgBox "请输入专业编号!"
Txtmajorid.SetFocus
Exit Sub
End If
temp.Open strSQL, db, adOpenStatic, adLockOptimistic'就是这句执行不过去了,帮帮忙啊!
temp.Filter = "SpecID='" & Txtmajorid.Text & "'"
temp.Requery
If temp.RecordCount = 0 Then
MsgBox ("这个专业方向编号不存在,编辑操作失败!")
temp.Close
Exit Sub
End If
temp.Close
If TxtClassID.Text = "" Then
MsgBox "请输入班级编号!"
TxtClassID.SetFocus
Exit Sub
End If
If Txtclassname.Text = "" Then
MsgBox "请输入班级名称!"
Txtclassname.SetFocus
Exit Sub
End If
If Txtnumber.Text = "" Then
MsgBox "请输入班级人数!"
Txtnumber.SetFocus
Exit Sub
End If
fillrecord
rst.Update
adodclass.Refresh
Txtmajorid.SetFocus
End Sub
Private Sub Cmdnext_Click()
rst.MoveNext
If rst.EOF Then
MsgBox "这是最后一个记录了!"
rst.MoveLast
End If
filltext
End Sub
Private Sub Cmdprevious_Click()
rst.MovePrevious
If rst.BOF Then
MsgBox "这是第一个记录了!"
rst.MoveFirst
End If
filltext
End Sub
Private Sub Cmdadd_Click()
strSQL = "SELECT * FROM bspeciality"
If Txtmajorid.Text = "" Then
MsgBox "请输入专业编号!"
Txtmajorid.SetFocus
Exit Sub
Else
temp.Open strSQL, db, adOpenStatic, adLockOptimistic
temp.Filter = "SpecID='" & Txtmajorid.Text & "'"
temp.Requery
If temp.RecordCount = 0 Then
MsgBox ("这个专业方向编号不存在,编辑操作失败!")
temp.Close
Exit Sub
End If
temp.Close
End If
strsql1 = "select * from bclass"
If TxtClassID.Text = "" Then
MsgBox "请输入班级编号!"
TxtClassID.SetFocus
Exit Sub
Else
temp.Open strsql1, db, adOpenStatic, adLockOptimistic
temp.Filter = "classid='" & TxtClassID.Text & "'"
temp.Requery
If temp.RecordCount <> 0 Then
MsgBox ("这个班级编号已存在,您输入的信息不能被保存!")
temp.Close
Exit Sub
End If
temp.Close
'If rst.RecordCount() <> 0 Then
' rst.MoveLast
End If
'rst.AddNew
If Txtclassname.Text = "" Then
MsgBox "请输入班级名称!"
Txtclassname.SetFocus
Exit Sub
End If
If Txtnumber.Text = "" Then
MsgBox "请输入班级人数!"
Txtnumber.SetFocus
Exit Sub
End If
rst.AddNew
fillrecord
rst.Update
clearfield
rst.Requery
showbutton
Txtmajorid.SetFocus
adodclass.Refresh
Exit Sub
End Sub
Private Sub Command1_Click()
clearfield
Txtmajorid.SetFocus
End Sub
Private Sub Dgdclass_Click()
If rst.RecordCount = 0 Then
TxtClassID.SetFocus
Exit Sub
End If
TxtClassID.Text = Dgdclass.Columns(0).Text
Txtclassname.Text = Dgdclass.Columns(1).Text
Txtmajorid.Text = Dgdclass.Columns(3).Text
Txtnumber.Text = Dgdclass.Columns(4).Text
End Sub
Private Sub Dgdmajor_Click()
strSQL = "SELECT SpecID FROM bspeciality"
temp.Open strSQL, db, adOpenKeyset, adLockOptimistic
If temp.RecordCount = 0 Then
TxtClassID.SetFocus
temp.Close
Exit Sub
End If
temp.Close
Txtmajorid.Text = Dgdmajor.Columns(0).Text
End Sub
Private Sub Dgdmajor_GotFocus()
Dgdclass.Visible = False
End Sub
Public Sub filltext()
If rst.RecordCount = 0 Then
Exit Sub
End If
Txtmajorid.Text = rst.Fields("SpecID")
TxtClassID.Text = rst.Fields("ClassID")
Txtclassname.Text = rst.Fields("ClassName")
Txtnumber.Text = rst.Fields("ClassStuNum")
End Sub
Public Sub clearfield()
Txtmajorid.Text = ""
TxtClassID.Text = ""
Txtclassname.Text = ""
Txtnumber.Text = ""
End Sub
'连接到数据库
Private Function ConenctToDatabase() As Boolean
On Error GoTo ErrorHandler
Dim DBName As String, ServerAdd As String, UserName As String, UserPwd As String
'设置连接信息字符串的参数
ServerAdd = "YJFW-Z98J06J19"
DBName = "Paike"
UserName = "sa"
UserPwd = ""
'连接数据库
Set db = New ADODB.Connection
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "uid=" & UserName & ";pwd=" & UserPwd & _
";driver={SQL Server};server=" & ServerAdd & _
";database=" & DBName & ";dsn=''"
db.Open
'返回值
ConenctToDatabase = True
Exit Function
ErrorHandler:
MsgBox "连接到数据库出错", vbCritical, "出现错误"
Exit Function
End Function
Private Sub Form_Load()
strSQL = "SELECT * FROM bClass"
ConenctToDatabase
rst.Open strSQL, db, adOpenKeyset, adLockOptimistic
If rst.RecordCount() = 0 Then
'clearfield
hidebutton
Else
showbutton
'rst.MoveFirst
'filltext
End If
filltext
Dgdclass.Visible = False
End Sub
Public Sub hidebutton()
Cmddelete.Enabled = False
Cmdnext.Enabled = False
cmdfirst.Enabled = False
Cmdlast.Enabled = False
Cmdmodify.Enabled = False
Cmdprevious.Enabled = False
End Sub
Public Sub showbutton()
Cmddelete.Enabled = True
Cmdnext.Enabled = True
cmdfirst.Enabled = True
Cmdlast.Enabled = True
Cmdmodify.Enabled = True
Cmdprevious.Enabled = True
End Sub
Public Sub fillrecord()
If Val(Txtmajorid.Text) = 0 Then
MsgBox "请输入正确的专业编号!"
Else
rst.Fields("SpecID") = Txtmajorid.Text
End If
'strSQL = "select classid from bclass where classid = '" & TxtClassID.Text & "'"
'temp.Open strSQL, db, adOpenStatic, adLockOptimistic
'If temp.RecordCount <> 0 Then
' MsgBox "该班级编号已存在!"
'TxtClassID.SetFocus
'End If
If Val(TxtClassID.Text) = 0 Then
MsgBox "请输入正确的班级编号!"
Else
rst.Fields("ClassID") = TxtClassID.Text
End If
rst.Fields("ClassName") = Txtclassname.Text
If Val(Txtnumber.Text) = 0 Then
MsgBox "请输入正确的人数!"
Else
rst.Fields("ClassStuNum") = Txtnumber.Text
End If
End Sub
Private Sub Txtclassid_Click()
adodclass.RecordSource = "select * from bClass "
adodclass.Refresh
End Sub
Private Sub Txtclassid_GotFocus()
adodclass.RecordSource = "select * from bClass "
adodclass.Refresh
Dgdmajor.Visible = False
Dgdclass.Visible = True
End Sub
Private Sub txtmajorid_Change()
adodclass.RecordSource = "select specID,ClassID,ClassName,ClassStuNum from bClass where SpecID='" & Txtmajorid.Text & "'"
adodclass.Refresh
End Sub
Private Sub Txtmajorid_GotFocus()
Dgdmajor.Visible = True
Dgdclass.Visible = False
End Sub