呵呵,您别笑话,自学,还是第一次。
我现在做了两个界面,一个主界面,代码如下:
----------------------------------------------------------
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
----------------------------------------------------------
Private Sub book_in_Click()
frmbookin.Show
End SubPublic Sub Form_Load()
conn.ConnectionString = "Driver={sql server};server=wxfjx;uid=sa;pwd=;database=book"
conn.Open
'连接数据库
frmMain.Caption = "图书馆管理系统"
frmMain.Top = (Screen.Height - frmMain.Height) / 2
frmMain.Left = (Screen.Width - frmMain.Width) / 2 '窗口居中
End Sub
---------------------------------------------------------
然后又做了一个界面,按钮点击进去
代码如下:
------------------------------------------------------------------
Private Sub cmd_exit_Click()
Unload Me
End Sub--------------------------------------------------------------------
Private Sub cmd_save_Click()
Dim rs As New ADODB.Recordset
Dim sql As String
If ((Text_isbn.Text = "") And (Text_bname.Text = "") And (Text_author.Text = "") And (Text_total.Text = "")) Then
Beep
MsgBox " 请将各项数据填写完整!", 48, "警告!" Else
sql = "select * from book where isbn='" & Text_isbn.Text & "'"
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs.EOF Then
rs.AddNew
rs.Fields(0) = Trim(Text_isbn.Text)
rs.Fields(1) = Trim(Text_bname.Text)
rs.Fields(2) = Trim(Text_author.Text)
rs.Fields(3) = 0
rs.Fields(4) = Trim(Text_price.Text)
rs.Fields(5) = Trim(Text_total.Text)
rs.Update
MsgBox "0000000"
rs.Close
End If
End If
End Sub
------------------------------------------------------------
Private Sub Form_Load()
frmbookin.Top = (Screen.Height - frmbookin.Height) / 2
frmbookin.Left = (Screen.Width - frmbookin.Width) / 2
Label_isbn.Caption = "国际标准编号:"
Label_bname.Caption = "书名:"
Label_author.Caption = "作者:"
Label_price.Caption = "价格:"
Label_total.Caption = "总数:"
Text_isbn.Text = ""
Text_bname.Text = ""
Text_author.Text = ""
Text_price.Text = ""
Text_total.Text = ""
cmd_save.Caption = "保存"
cmd_cancle.Caption = "取消"
cmd_exit.Caption = "退出"
Frame1.Caption = "图书信息"
Frame2.Caption = "图书列表"
End Sub运行后提示:实时错误3001 参数类型不正确 或不在可以接受的范围之内,或与其他参数冲突。
然后 rs.Open sql, conn, adOpenKeyset, adLockPessimistic 提示出来谢谢了!!
我现在做了两个界面,一个主界面,代码如下:
----------------------------------------------------------
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
----------------------------------------------------------
Private Sub book_in_Click()
frmbookin.Show
End SubPublic Sub Form_Load()
conn.ConnectionString = "Driver={sql server};server=wxfjx;uid=sa;pwd=;database=book"
conn.Open
'连接数据库
frmMain.Caption = "图书馆管理系统"
frmMain.Top = (Screen.Height - frmMain.Height) / 2
frmMain.Left = (Screen.Width - frmMain.Width) / 2 '窗口居中
End Sub
---------------------------------------------------------
然后又做了一个界面,按钮点击进去
代码如下:
------------------------------------------------------------------
Private Sub cmd_exit_Click()
Unload Me
End Sub--------------------------------------------------------------------
Private Sub cmd_save_Click()
Dim rs As New ADODB.Recordset
Dim sql As String
If ((Text_isbn.Text = "") And (Text_bname.Text = "") And (Text_author.Text = "") And (Text_total.Text = "")) Then
Beep
MsgBox " 请将各项数据填写完整!", 48, "警告!" Else
sql = "select * from book where isbn='" & Text_isbn.Text & "'"
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs.EOF Then
rs.AddNew
rs.Fields(0) = Trim(Text_isbn.Text)
rs.Fields(1) = Trim(Text_bname.Text)
rs.Fields(2) = Trim(Text_author.Text)
rs.Fields(3) = 0
rs.Fields(4) = Trim(Text_price.Text)
rs.Fields(5) = Trim(Text_total.Text)
rs.Update
MsgBox "0000000"
rs.Close
End If
End If
End Sub
------------------------------------------------------------
Private Sub Form_Load()
frmbookin.Top = (Screen.Height - frmbookin.Height) / 2
frmbookin.Left = (Screen.Width - frmbookin.Width) / 2
Label_isbn.Caption = "国际标准编号:"
Label_bname.Caption = "书名:"
Label_author.Caption = "作者:"
Label_price.Caption = "价格:"
Label_total.Caption = "总数:"
Text_isbn.Text = ""
Text_bname.Text = ""
Text_author.Text = ""
Text_price.Text = ""
Text_total.Text = ""
cmd_save.Caption = "保存"
cmd_cancle.Caption = "取消"
cmd_exit.Caption = "退出"
Frame1.Caption = "图书信息"
Frame2.Caption = "图书列表"
End Sub运行后提示:实时错误3001 参数类型不正确 或不在可以接受的范围之内,或与其他参数冲突。
然后 rs.Open sql, conn, adOpenKeyset, adLockPessimistic 提示出来谢谢了!!
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
应该是这个语句的问题吧?你再仔细看看
试试看
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
就是这得问题,我实在是想不出来,
改成 rs.Open sql, conn, 1,3 还是不行我想我的数据库联接是不是有问题呢?
2、确认文本框 Text_isbn 中不含有字符 ';
conn 怎么设全局呢?
麻烦您举个例子吧,谢谢!!
select * from book where isbn=" & Text_isbn.Text & " 没有单耳朵
2)
rs.AddNew
rs.Fields(0) = Trim(Text_isbn.Text)'''若在表中此字段是自动编号则不能给其赋值
/////也就是说 这句应该不写 而直接写
rs.AddNew
rs.Fields(1) = Trim(Text_bname.Text)
rs.Fields(2) = Trim(Text_author.Text)
.....
3)另外想给你指出一个问题,就是你在做新加操作为什么要查询select * from book where isbn=" & Text_isbn.Text & " ??
你可以直接写 select * from book 或者是 select * from book where isbn isnot null
在更改的时候才需要带条件
把Dim conn As New ADODB.Connection
移到模块中
Global conn As New ADODB.Connection参考一下!