在VB.NET中保存记录



感谢您检查我的代码

无论我做什么,记录都不会保存,它不会给出任何错误

我将另一个项目的数据库文件复制到我的项目的根目录中

我有一个名为fill的函数,它会保存select数据库中的信息,当我保存它的时候,它会在数据网格中显示新记录,但当我再次打开程序时,它不会显示记录,当我检查表本身时,什么也没保存。

这是我的代码:

Dim con1 As New SqlConnection("Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirector  y|anbar.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
con1.Open()
Dim com As New SqlCommand("INSERT INTO tblcustomer(name)Values(@name)", con1)
com.Parameters.AddWithValue("name", txtName.Text)
com.CommandType = CommandType.Text
com.ExecuteNonQuery()
con1.Close()

谢谢你的建议。

注释中的问题是相关的:返回什么值ExecuteNonQuery?我相信答案是1,这意味着一切都按照预期工作,而你只是不知道本地数据文件是如何工作的。

当您将数据文件(MDF、MDB、ACCDDB等(添加到项目中时,它将成为源文件,即项目的一部分。当您构建项目时,编译的EXE文件会保存到输出文件夹中,数据文件也会复制到那里。它是您的应用程序在运行时连接到的副本。

默认情况下,每次构建项目时,都会将源文件复制到输出文件夹中。这意味着,如果你运行项目,对数据库进行更改,停止项目,更改代码,然后再次运行项目,你的数据库更改将被覆盖,就像你从未进行过一样。

拥有数据库的这两个副本非常重要,因为您不想在发布应用程序时清除所有测试数据。您只想构建并获得一个干净的数据库,这正是发生的事情。

您的";"问题";是在解决方案资源管理器中选择数据文件,打开"属性"窗口并将Copy to Output Directory属性更改为Copy if Newer。这样,只有当您对源文件进行了更改时,才会覆盖输出文件夹中的工作数据文件。这样,在更改源数据、删除工作数据文件或再次更改该属性之前,对数据库所做的更改将一直有效。

最新更新