首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请问VB2005有关数据库的有关问题,初学请多关照

2012-01-09 
请教VB2005有关数据库的问题,初学请多关照我想用下面的代码给SQl2005的数据库中写信息,可是第一次点“Butto

请教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里的情况在说

热点排行