【发布时间】:2022-03-19 19:02:35
【问题描述】:
场景:
我想将文本框中的数据输入到基于 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 时发生了这种情况。如果我没有插入它,我的表目标当然不会发生任何事情。
那么我在该代码中犯了什么错误?我该怎么办?
【问题讨论】:
-
对我来说似乎很友好。没有
TABLENAME这样的表。 -
但是我已经使用名为 TABLENAME 的表设置了 Database.mdb,并且我的项目文件夹中也有一个 Database.mdb,但我没有从 DataSources 制作 DataSet
-
在更正代码时,请使用 占位符。这将避免 [意外或恶意] 用户输入可能导致的错误。