【问题标题】:I get an error connecting to a MS Access database in C# [duplicate]在 C# 中连接到 MS Access 数据库时出现错误 [重复]
【发布时间】:2020-07-12 12:54:45
【问题描述】:

我正在尝试使用我的 Windows 窗体应用程序连接到 MS Access 数据库,但我收到此错误:

错误:ExecuteNonQuery:连接属性尚未初始化”

请帮忙 这是代码::

命名空间 log​​intrial4 { 公共部分类Form1:表格 { 公共表格1() { 初始化组件(); }

    private void button1_Click(object sender, EventArgs e)
    {
        OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\shiwa\source\repos\logintrial4\bin\Debug\log4.accdb");
        con.Open();
        OleDbCommand cmd = new OleDbCommand("insert into log4 values('" + textBox1.Text + "','" + textBox2.Text + "')");
        cmd.ExecuteNonQuery();
        MessageBox.Show("Success");
        con.Close();
    }
}

}

【问题讨论】:

  • 你能复制所有的代码并在这里显示吗?通过查看所有内容会更容易识别。
  • SQL Injection alert - 您应该将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看 Little Bobby Tables
  • 我已添加代码

标签: c# ms-access


【解决方案1】:

你错过了一行,你必须在初始化 cmd 后设置连接到 cmd

cmd.Connection = foo;

完整代码:

    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\shiwa\source\repos\logintrial4\bin\Debug\log4.accdb");
    con.Open();
    OleDbCommand cmd = new OleDbCommand("insert into log4 values('" + textBox1.Text + "','" + textBox2.Text + "')");
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    MessageBox.Show("Success");
    con.Close();

【讨论】:

  • 不,它显示以下错误“System.Data.OleDb.OleDbException:'找不到输出“@Maghilvannan
猜你喜欢
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 2017-12-31
  • 2022-01-17
相关资源
最近更新 更多