无法实现向表里添加记录
操作窗口里有label1,label2,label3,label4. textbox1,textbox2,textbox3,textbox4. button1,button2,button3,
button4,button5
控件布置如下:
label1: [ textbox1 ] label2 : [ textbox2 ]
label3: [ textbox3 ] label4 : [ textbox4 ]
[label5]
[button1] [button2] [button3] [button4]
[button5]
具体界面如下:
姓名: [ textbox1 ] 地址 : [ textbox2 ]
编号: [ textbox3 ] Email : [ textbox4 ]
[label5]
[首条记录] [上一条] [下一条] [尾条记录]
[添加]
实现步骤:
当单击"增加"按钮时,先清空文本框,并将按钮提示改变成"确认",当在文本框输入完数据后,再单击"确认"按钮,将输入到文本框的数据构成一条记录插入到表里,重新填充数据源并恢复按钮提示.
表Readerdetails的结构如下:
列表 数据类型 长度 允许空
SN char 15
ISBN char 20 Yes
BookName varchar 50 Yes
BookCode char 20 Yes
BookType varchar 50 Yes
BookDes varchar 50 Yes
AuthorName char 20 Yes
PublishData varchar 50 Yes
Edition char 10 Yes
BookStatus char 10 Yes
LibDate char 30 Yes
按钮“增加”(button1)的 Click事件代码如下:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
If Button5.Text = "确定" Then
objConn.Open() '打开已建立好的连接对象
Dim name As New OdbcParameter("@name", OdbcType.Char, 10) '定义Insert语句中的参数
Dim addr As New OdbcParameter("@addr", OdbcType.Char, 60)
Dim readerNo As New OdbcParameter("@readerNo", OdbcType.Char, 10)
Dim Email As New OdbcParameter("@Email", OdbcType.Char, 30)
Dim strIn As String = "Insert into ReaderDetails_(ReaderName,Address,ReaderNo,ReaderEmail)" & _
"Values(@name,@addr,@readerNo,@Email)"
Dim objCmd As New OdbcCommand(strIn, objConn) '创建命令对象
objCmd.Parameters.Add(name) '添加参数到objCmd的参数集中
objCmd.Parameters.Add(addr)
objCmd.Parameters.Add(readerNo)
objCmd.Parameters.Add(Email)
name.Value = TextBox1.Text '为参数赋值
addr.Value = TextBox2.Text
readerNo.Value = TextBox3.Text
Email.Value = TextBox4.Text
objCmd.ExecuteNonQuery() '进行更新
objConn.Close() '关闭连接
Dim strSql = "select * from ReaderDetails" '增加记录后重新填充数据集
objAdap.SelectCommand = New OdbcCommand(strSql, objConn)
objDSet.Clear()
objAdap.Fill(objDSet, "ReaderDetails")
Button5.Text = "增加" '(1)--------------------(1) '恢复按钮提示
MyBind.Position = MyBind.Count - 1 '指向最后一条记录
Label5.Text = (MyBind.Position + 1) & "/" & MyBind.Count
MsgBox("更新成功")
Else
TextBox1.Text = "" '清空文本框
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
Button5.Text = "确认" '改变按钮提示
End If
End Sub
说明:能正确连接到数据库,[首条记录] [上一条] [下一条] [尾条记录]这几个按钮的功能都正常
问题:点了“增加” 按钮后 ,“增加”按钮的Text变成 "确认",但填完 "姓名" . "地址" . "编号" . "Email"的文本框
按"确认"按钮后,"姓名" . "地址" . "编号" 和 "Email" 的文本框的内容立马被清空,这些数据却没有被添加到表
ReaderDetails中,还有就是"确认"按钮的Text并没有变成"增加".也就是程序根本没有执行到(1)--------------------------------(1)这一行.
哪位朋友能帮看一下是怎么回事吗