在C#2005中添加数据库中的记录

本文关键字:记录 数据库 添加 C#2005 | 更新日期: 2023-09-27 17:58:28

NET C#2005,我正在C#中创建一个数据库,其中所有记录都在运行时保存、更新和删除,但每当我关闭该应用程序时,我的所有记录都会丢失,我希望它们存储在SQL数据库中,因此每当我打开应用程序时我都会保存所有记录,我尝试的代码如下。

namespace WindowsApplication13
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void table1BindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
        this.Validate();
        this.table1BindingSource.EndEdit();
        this.table1TableAdapter.Update(this.database2DataSet.Table1);
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'database2DataSet.Table1' table. You can move, or remove it, as needed.
        this.table1TableAdapter.Fill(this.database2DataSet.Table1);
    }
}

}

在C#2005中添加数据库中的记录

您的代码看起来不错(还没有测试过),所以问题可能是您正在使用运行时附带的数据库进行测试。如果您的连接字符串具有"AttachDbFilename"属性,而不是"Database"或"Initial Catalog",如以下所示:

connectionString="Data Source=.'SQLEXPRESS;AttachDbFilename=|DataDirectory|'CateringDB.mdf;Integrated Security=True;User Instance=True"

然后发生的情况是,每次从Visual Studio编译程序时,数据库文件都会复制到输出目录(/bin/debug或/bin/release),并且任何修改都是在数据库副本上完成的,而不是在解决方案资源管理器中看到的副本。

部署后,当您不再从Visual Studio运行程序时,此问题不会出现。

你可以通过以下方式改变这种行为:

  • 在解决方案资源管理器中选择.mdf文件,然后在属性中(按F4)将"复制到输出目录"的设置更改为"始终复制"以外的其他设置。(我推荐的解决方案。)
  • 将连接字符串更改为指向绝对或相对路径,如"AttachDbFileName=c:''cating.mdb"或"AttachDbFileName=….''catering.mdb"(从而删除"|DataDirectory|"部分

我认为您想要的是对如何使用C#将数据保存到SQL数据库中并从中检索数据有一个基本的了解。在这种情况下,谷歌将是你最好的朋友。您可以将此链接作为起点。它描述了如何使用C#

在数据库中保存和加载数据

您需要使用DbDataAdapter.更新方法

我认为table1TableAdapters UpdateCommand属性为空。