private void ButtonUpdate(object sender, EventArgs e)
{
conn = new OleDbConnection();
cmdb = new OleDbCommandBuilder();
objOleDbDataAdapter = new OleDbDataAdapter();
string updCmd = "update country set code=@code,shortname=@shortname,fullname=@fullname";
objOleDbDataAdapter.UpdateCommand = new OleDbCommand(updCmd, conn); objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@code", OleDbType.Char);
objOleDbParameter.SourceColumn = "code";
objOleDbParameter.SourceVersion = DataRowVersion.Current; objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@shortname", OleDbType.VarChar);
objOleDbParameter.SourceColumn = "shortname";
objOleDbParameter.SourceVersion = DataRowVersion.Current; objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@fullname", OleDbType.VarChar);
objOleDbParameter.SourceColumn = "fullname";
objOleDbParameter.SourceVersion = DataRowVersion.Current; DialogResult objDialogResult = MessageBox.Show("确定要保存吗?", "确定", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
this.cmdb = new OleDbCommandBuilder(objOleDbDataAdapter);
try
{
if (objDialogResult == DialogResult.Yes)
{
objOleDbDataAdapter.Update(objDataSet, "country"); //出错行
MessageBox.Show("修改成功");
}
else
{
MessageBox.Show("修改失败");
}
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}
{
conn = new OleDbConnection();
cmdb = new OleDbCommandBuilder();
objOleDbDataAdapter = new OleDbDataAdapter();
string updCmd = "update country set code=@code,shortname=@shortname,fullname=@fullname";
objOleDbDataAdapter.UpdateCommand = new OleDbCommand(updCmd, conn); objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@code", OleDbType.Char);
objOleDbParameter.SourceColumn = "code";
objOleDbParameter.SourceVersion = DataRowVersion.Current; objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@shortname", OleDbType.VarChar);
objOleDbParameter.SourceColumn = "shortname";
objOleDbParameter.SourceVersion = DataRowVersion.Current; objOleDbParameter = objOleDbDataAdapter.UpdateCommand.Parameters.Add("@fullname", OleDbType.VarChar);
objOleDbParameter.SourceColumn = "fullname";
objOleDbParameter.SourceVersion = DataRowVersion.Current; DialogResult objDialogResult = MessageBox.Show("确定要保存吗?", "确定", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
this.cmdb = new OleDbCommandBuilder(objOleDbDataAdapter);
try
{
if (objDialogResult == DialogResult.Yes)
{
objOleDbDataAdapter.Update(objDataSet, "country"); //出错行
MessageBox.Show("修改成功");
}
else
{
MessageBox.Show("修改失败");
}
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}
country
ConString 是没问题的! 如果ConString错了!就无法连接到数据库! 他就不会提示 找不到表了!
所以看看 update的表名字是否正确!就好!
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="适配器.Properties.Settings.ectrainingConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ectraining.mdb;Persist Security Info=True"
providerName="System.Data.OleDb" />
</connectionStrings>
</configuration>这个是app.config里面的