【发布时间】:2025-12-07 12:20:03
【问题描述】:
在 C# 中尝试从我的访问数据库文件中读取时,我得到一个
“标准表达式中的数据类型不匹配”-> system.data.oledb.oledbexception (0x80040e07)。
我尝试使用的代码是
public static void readHW(OleDbConnection connection, string article, string HWRev)
{
OleDbCommand ReadHW = new OleDbCommand($"SELECT * FROM [HW_Revision] WHERE [Article_ID] = {article} AND HW_Revision_ID = {HWRev}");
ReadHW.Connection = connection;
OleDbDataReader reader = null;
try
{
reader = ReadHW.ExecuteReader();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
这是对我之前使用此 SQL cmd 的 Python 代码的改编
HW_RevrTest = cur.execute("""SELECT * FROM HW_Revision WHERE Article_ID = ? AND HW_Revision_ID = ?""", [Article, HWRev]).fetchall()
【问题讨论】:
-
您真的确定您的
Article_ID和HW_Revision_ID列不是数字吗?根据他们的名字,他们应该.. -
是的,我确定。它们都可以是字母数字,在我的旧 Python 代码中,它们一直被视为字符串