使用datagridView时,INSERT命令会发生异常,而删除和更新在使用Access数据库的C#中可以正常工作

维普尔

使用我表单中的保存按钮,除INSERT命令外,所有操作(更新,删除)均正常运行。帮帮我...

public partial class frmeditaccess : Form
{
    string table = "master";

    OleDbDataAdapter da;
    OleDbCommandBuilder cb;
    DataTable dt;
    OleDbConnection conn;
    string query;

    public frmeditaccess()
    {
        InitializeComponent();
    }

    private void btload_Click(object sender, EventArgs e)
    {
        try
        {
            conn = new OleDbConnection();
            conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source= C:\Users\ViPuL\Documents\Visual Studio 2010\Projects\feedback@MERI\feedback@MERI\bin\feedback.mdb";
            query = string.Format("SELECT * FROM {0}", table);
            da = new OleDbDataAdapter(query, conn);
            dt = new DataTable();
            dataGridView1.DataSource = dt;
        }
        catch (Exception ex)
        {
            MessageBox.Show("Failed due to " + ex.Message);
        }
    }

    private void btsave_Click(object sender, EventArgs e)
    {
        try
        {
            cb = new OleDbCommandBuilder(da);
            da.Update(dt);      //here update, delete are working. Only, Insert throws exception of syntax error in INSERT command.
        }
        catch (Exception ex)
        {
            MessageBox.Show("Failed due to " + ex.Message);
        }
    }     
达米斯

这可能是由于保留关键字用作列名,请尝试按如下所示指定QuotePrefix和QuoteSuffix

cb = new OleDbCommandBuilder(da);
cb.QuotePrefix = "[";
cb.QuoteSuffix = "]";
da.Update(dt);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档