数据更新未反映在VB 2008中的数据库中

时间:2012-01-05 06:33:58

标签: sql-server vb.net sql-server-2005

我使用以下代码将数据插入数据库

            bdcon.Open()
            Dim querystring As String
            Dim mycommand55 As New SqlCommand
querystring = "insert into Tr_Cashbook values(" + TextBox1.Text + "," + ComboBox1.Text + ",'" + TextBox2.Text + "','" + ComboBox2.Text + "','" + TextBox3.Text + "','" + ComboBox3.Text + "'," & 0 & ",'" + DateTimePicker2.Value + "','" + ComboBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox4.Text + "')" 
                 Try mycommand55.ExecuteNonQuery()
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
                Binding()

这在程序运行时将数据插入数据库但是如果我关闭程序并再次启动我插入的先前数据就丢失了....为什么?plz回复

2 个答案:

答案 0 :(得分:1)

除了在使用参数化查询或在使用之前验证/清理数据之前明显容易受到SQL注入攻击之外,看起来你似乎没有在任何地方使用querystring变量。您创建它然后为其赋值,但您永远不会告诉SqlCommand对象在您的示例中使用它。

答案 1 :(得分:0)

看起来你已经使用类TransactionScope打开了事务,但是没有以正确的方式提交

在处理sql server时,你应该检查并重新设计你的方法,因为你的方式非常容易受到sql注入的攻击。尝试使用参数重写查询,也不要使用原始字符串值