C# 使用Odbc命令C将SQL插入时出错#

C# 使用Odbc命令C将SQL插入时出错#,c#,odbc,C#,Odbc,场景: 我想将文本框中的数据输入基于microsoft数据库(.mdb)的数据库 我已经搜索并找到了好的线索,结果就在这里。 以下代码位于命令按钮单击事件中: using (OdbcConnection conn= new OdbcConnection()) { conn.ConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};" + "Dbq=C:\\BlaBlaBla.mdb;Uid=Adm

场景:
我想将文本框中的数据输入基于microsoft数据库(.mdb)的数据库 我已经搜索并找到了好的线索,结果就在这里。
以下代码位于命令按钮单击事件中:

using (OdbcConnection conn= new OdbcConnection())
{
    conn.ConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};" + 
            "Dbq=C:\\BlaBlaBla.mdb;Uid=Admin;Pwd=;";
    conn.Open();

    using (OdbcCommand cmd = new OdbcCommand(
         "INSERT INTO TABLENAME (FIELD1,FIELD2,FIELD3) VALUES ('" + txtFIELD1Input.Text + "','" + txtFIELD2Input.Text + "','" + txtFIELDInput.Text + "' )", conn))
    {
        cmd.ExecuteNonQuery();
    }

    conn.Close();
}
当我点击命令按钮时,我得到了一个不友好的异常

找不到错误[42S02][Microsoft][ODBC Microsoft Access驱动程序] 输出表“TABLENAME”

这是在我插入
cmd.ExecuteNonQuery
时发生的。如果我没有插入它,我的表目标中当然不会发生任何事情。
那么我在代码中犯了什么错误呢?我该怎么办

    "INSERT INTO TABLENAME (FIELD1,FIELD2,FIELD3) VALUES ('" + txtFIELD1Input.Text +    "','" + txtFIELD2Input.Text + "','" + txtFIELDInput.Text + "' )", myConnection))
把这个换成

   "INSERT INTO TABLENAME (FIELD1,FIELD2,FIELD3) VALUES ('" + txtFIELD1Input.Text + "','" + txtFIELD2Input.Text + "','" + txtFIELDInput.Text + "' )", Conn))
您将Conn定义为连接字符串,而不是“myConnection”

更换连接到Conn的myConnection


所以我改为OLEDB连接,我的问题解决了

using (OleDbConnectionconn= new OleDbConnection())
    {
        conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\LOSERONE\Documents\DATABASE\Latihan1.mdb";
        conn.Open();

        using (OleDbCommand cmd = new OleDbCommand (
             "INSERT INTO TABLENAME (FIELD1,FIELD2,FIELD3) VALUES ('" + txtFIELD1Input.Text + "','" + txtFIELD2Input.Text + "','" + txtFIELDInput.Text + "' )", conn))
        {
            cmd.ExecuteNonQuery();
        }

        conn.Close();
    }
似乎,要连接,数据库必须与目标数据库属性中的连接字符串相同。
有人能告诉我在.mdb数据库文件中OleDbConnection和ODBConnection有什么区别吗

此问题是因为登录后sql连接的默认数据库与表“TABLENAME”所在的数据库不同。尝试在表之前添加数据库名称,如下所示:

INSERT INTO DBNAME..TABLENAME (FIELD1, FIELD2)

看起来对我很友好。没有像
TABLENAME
这样的表。但是我已经用一个名为TABLENAME的表设置了Database.mdb,并且在我的项目文件夹中也有一个Database.mdb,但是我没有从datasources生成数据集。在更正代码时,请使用占位符。这将避免由[意外或恶意]用户输入引起的错误。对不起,我忘记编辑问题代码了。实际上,插入行中的连接字符串是conn