我必须使用MS Access。
我的数据库具有这种结构(不要介意奇怪的名称-这个问题几乎没有翻译):
我的程序显示此表之一(在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寻找替代方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句