Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New SqlConnection
Dim cmd As New SqlCommand
Dim Tx1 As String
Tx1 = TextBox1.Text
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DBTestX.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
con.Open()
cmd.Connection = con
cmd.CommandText = "INSERT INTO TestTable(Test) VALUES(@Tx1)"
cmd.ExecuteNonQuery()
con.Close()
End Sub
End Class
正如您在此代码中看到并可视化的,只有1个表单,1个文本框和1个按钮。
使用VB Express 2010和SQL Server 2008,我通过点击Project > Add New Item > Service-Based Database
等创建了一个SQL数据库和表。我想要做的就是将我在textbox1上的新数据插入到唯一的列中在桌子上。但是,我无法这样做。
你能帮助我指出问题的原因吗?还有其他建议吗?
答案 0 :(得分:2)
你快到了。您需要添加@Tx1
参数并设置其值:
cmd.Connection = con
cmd.CommandText = "INSERT INTO TestTable(Test) VALUES(@Tx1)"
cmd.Parameters.Add("@Tx1", SqlDbType.VarChar, <length of your column>).Value = Tx1
cmd.ExecuteNonQuery()
添加参数时,您需要提供长度。
另外,我不经常使用VB.NET,所以我可能已经使用我的例子进入C#;如果是这样的话,请事先道歉:)