我使用以下代码将数据插入数据库
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回复
答案 0 :(得分:1)
除了在使用参数化查询或在使用之前验证/清理数据之前明显容易受到SQL注入攻击之外,看起来你似乎没有在任何地方使用querystring
变量。您创建它然后为其赋值,但您永远不会告诉SqlCommand
对象在您的示例中使用它。
答案 1 :(得分:0)
看起来你已经使用类TransactionScope打开了事务,但是没有以正确的方式提交
在处理sql server时,你应该检查并重新设计你的方法,因为你的方式非常容易受到sql注入的攻击。尝试使用参数重写查询,也不要使用原始字符串值