VB.NET数据临时保存在访问数据库中,当我终止应用程序时,数据会自动从数据库中删除。这是代码: -
con1.Open()
Dim da As New OleDbDataAdapter
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = con1
cmd.CommandText = "INSERT INTO Journal(UsedAccount,Effect,Purpose,EffectedAccount,Amount,Datex) VALUES( '" & Me.ComboBox1.SelectedItem & "','" & effect & "','" & Me.TextBox1.Text & "','" & Me.ComboBox3.SelectedItem & "','" & Me.TextBox2.Text & "','" & Me.DateTimePicker1.Value & "')"
cmd.ExecuteNonQuery()
con1.Close()
我的代码出错了什么?如何防止数据被自动删除?
答案 0 :(得分:3)
您的项目文件中可能包含MDB(ACCDB)文件 如果检查与此项目文件关联的属性,则会找到一个名为
的属性 Copy to Output Directory
设置为Copy Always
。
您的连接字符串也包含快捷方式
Data Source = "|DataDirectory|\yourdb.mdb"
如果这种情况是正确的,那么
修复此问题,将属性设置为“从不复制”或将连接字符串更改为指向固定位置。
作为旁注:永远不要使用字符串连接来构建您的sql命令。这将是一个巨大的安全风险(Sql注入攻击)和众多解析问题的来源(日期格式化,带单引号的字符串,非整数的小数分隔符)。使用ALWAYS参数化查询。