【发布时间】:2011-09-10 05:20:38
【问题描述】:
我已经搜索了很多关于我的问题但没有解决方案,所以我在这里发帖寻求专家的建议。
我正在制作一个 Windows 窗体应用程序,并使用 Sql 紧凑型数据库。
我的问题:
当我使用代码(运行时)在数据库中插入记录时,它们被插入、删除、更新,我可以在我的应用程序中看到它们被更新、插入、删除,但是当我关闭应用程序并重新启动几次时他们被改变了,一百万次:)。否则我再次看到空白数据库,或者如果我直接从解决方案资源管理器 Visual Studio 2010 将值放入数据库中,它们将永远留在那里。我正在使用简单的更新、插入、删除语句,但不确定为什么当我关闭应用程序时对数据库所做的更改会消失。
首先这是为了所有人:
Dim con As New SqlCeConnection
Dim command As New SqlCeCommand
connectionString = "Data Source=SqlCompactDatabase/RestaurantDatabase.sdf"
con.ConnectionString = connectionString
command.Connection = con
con.Open()
我的插入代码:
command.CommandText = "Insert into Inventory(itemcode,itemmin,itemmax,itemdesc) Values('" + itmcod + "','" + min + "','" + max + "','" + desc + "')"
command.ExecuteScalar()
我的更新代码:
command.CommandText = "update Inventory set itemMin='" + min + "',itemMax='" + max + "',instock='" + stock + "',itemDesc='" + desc + "' where itemcode='" + TextBox1.Text + "'"
command.ExecuteScalar()
我的删除代码:
command.CommandText = "delete from inventory where itemcode='" + TextBox1.Text + "'"
command.ExecuteScalar()
我正确打开关闭连接没有错误,有一些我无法弄清楚:)
【问题讨论】:
-
some thing not related' - 你为什么将 CE 数据库用于桌面应用程序(很想知道) -
你可以说必须给某人,所以对方只知道如何运行,如果我使用其他人,他必须更改连接字符串等。
-
我有点弄清楚问题所在,每当我构建我的解决方案时,新数据都会被删除,否则无论我运行多少次它都会保留.. 但为什么会这样呢?谢谢
-
您的 sql 代码容易受到注入攻击。不要使用字符串连接来替换这样的参数值。
标签: vb.net winforms visual-studio-2010 ado.net sql-server-ce