gpt4 book ai didi

c# - 如何编写正确的插入/更新/删除命令来更新源访问数据库中的链接表?

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:04 25 4
gpt4 key购买 nike

我必须使用 MS Access。

我有这种结构的数据库(不要介意奇怪的名字 - 对于这个问题它几乎没有翻译):

enter image description

我的程序显示其中一个表格(在 WinForms 中)。用户可以更改其中的数据。要发送更改的数据,我使用按钮。

问题来了。如果我使用 OleDbCommandBuilder 生成命令,我会在按下保存按钮后收到错误消息(如果表中发生了某些更改)。

因此,如果我更改疾病表中的某些内容:DataTable“表”不包含此 SourceColumn“患者 ID”的 DataColumn“患者 ID”(错误文本已翻译,因此看起来可能有点不同)。

如果我更改访问表中的某些内容:语法错误 INSERT INTO。等等关于 UPDATE 和 DELETE。

看来我必须手动编写命令。但我不知道该怎么做。 MSDN 示例并没有真正帮助。

所以,请帮助我为表“visits”和“desease”编写正确的命令。或者至少描述一下如何编写它。

如果没有我的表单代码,如果有什么不清楚的话:

protected string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb";
protected OleDbConnection connection = new OleDbConnection();
protected OleDbDataAdapter adapter;
protected OleDbCommandBuilder cBuilder;

DataSet dataSet;

public Form1() {
InitializeComponent();
connection.ConnectionString = conStr;
adapter = new OleDbDataAdapter("SELECT * FROM TABLE_NAME", connection);
dataSet = new DataSet();
cBuilder = new OleDbCommandBuilder(adapter);
adapter.Fill(dataSet);

connection.Open();
adapter.UpdateCommand = cBuilder.GetUpdateCommand(true);
adapter.InsertCommand = cBuilder.GetInsertCommand(true);
adapter.DeleteCommand = cBuilder.GetDeleteCommand(true);
connection.Close();
}

private void saveButton_Click(object sender, EventArgs e) {
adapter.Update(dataSet); //this method send data to database and return error
}

猜测,不需要加载代码。

最佳答案

这个想法可能是错误的。最好为 MS Access 寻找一些替代品。

关于c# - 如何编写正确的插入/更新/删除命令来更新源访问数据库中的链接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com