请教VB2005有关数据库的问题,初学请多关照
我想用下面的代码给SQl2005的数据库中写信息,可是第一次点“Button1_Click”没问题,当第二次点“Button1_Click”时,写入数据库的是一条空信息。请问怎么办?谢谢。
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class Form1
Dim Datalank As SqlConnection = New System.Data.SqlClient.SqlConnection( _
"Server=TLCM-WHJ;Database=Vs2005_Data;User ID=sa;Password=123456; ")
Dim Datacommand As SqlCommand = New System.Data.SqlClient.SqlCommand
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Datacommand.Connection = Datalank
Datacommand.CommandText = "INSERT INTO lx01 (user_name,user_tel) VALUES (@usr_name01,@usr_tel01) "
Datacommand.Parameters.AddWithValue( "@usr_name01 ", TextBox1.Text)
Datacommand.Parameters.AddWithValue( "@usr_tel01 ", TextBox2.Text)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'MsgBox( "ok ")
If TextBox1.Text <> " " And TextBox2.Text <> " " Then
Datalank.Open()
Datacommand.ExecuteNonQuery()
Datalank.Close()
Else
MsgBox( "No ")
End If
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
End Class
[解决办法]
你的SqlConnection和SqlCommand都是在过程外实例化的,没有报错么?
[解决办法]
确实不会报错,晕。
我从这段代码中看不出什么错来。
[解决办法]
Datacommand.Parameters.AddWithValue( "@usr_name01 ", TextBox1.Text)
Datacommand.Parameters.AddWithValue( "@usr_tel01 ", TextBox2.Text)
最好别写在 pageload里面
[解决办法]
你在Datacommand.Parameters.AddWithValue( "@usr_name01 ", TextBox1.Text)
Datacommand.Parameters.AddWithValue( "@usr_tel01 ", TextBox2.Text)这里的时候是把textbox1和textbox2当参数,而你在Button1_Click这个方法的最后
TextBox1.Text = " "
TextBox2.Text = " "把这两个值都清空了,那当然你再按下“Button1_Click”时,写入数据库的是一条空信息。
[解决办法]
你把“Button1_Click”方法中的TextBox1.Text = " ",TextBox2.Text = " "这两句注释掉试试看
[解决办法]
Datacommand.Connection = Datalank
Datacommand.CommandText = "INSERT INTO lx01 (user_name,user_tel) VALUES (@usr_name01,@usr_tel01) "
Datacommand.Parameters.AddWithValue( "@usr_name01 ", TextBox1.Text)
Datacommand.Parameters.AddWithValue( "@usr_tel01 ", TextBox2.Text)
你把上面这部分写到
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'MsgBox( "ok ")
If TextBox1.Text <> " " And TextBox2.Text <> " " Then
的后面
试一下
[解决办法]
建议你在button1.click的最前边加一个messagebox.show看看textbox1和textbox2里的情况在说