gpt4 book ai didi

c# - 系统.Data.OleDb.OleDbException : Data type mismatch in criteria expression

转载 作者:行者123 更新时间:2023-11-30 14:57:43 24 4
gpt4 key购买 nike

这是我的代码:

OleDbCommand Cmd = new OleDbCommand();
Cmd.Connection = MyConn;
Cmd.CommandText = "SELECT * FROM catalogue WHERE id = '" + questionid + "'";

OleDbDataReader read = Cmd.ExecuteReader();

int id = 0;

while (read.Read())
{
id = Convert.ToInt32(read["id"]);
}

这是它给我的错误:

Line 27:         Cmd.CommandText = "SELECT * FROM catalogue WHERE id = '" + questionid + "'";
Line 28:
Line 29: OleDbDataReader read = Cmd.ExecuteReader(); // The error is here
Line 30:
Line 31: int id = 0;

我知道还有another question about the same issue在 Stack Overflow 上,但它似乎并没有解决我的问题(它可能会解决你的问题,所以我放了一个链接)。

最佳答案

请了解using blocks对于您所有的一次性用品,包括数据库连接、命令和阅读器。

您的代码容易受到 sql injection 的攻击,您可能想通过使用参数来解决这个问题。

最后,我怀疑你在数据库中的 id 字段是整数类型,所以在值周围使用引号是错误的。但是请仔细阅读参数而不是修复它。参数无论如何都会解决这个问题。

关于c# - 系统.Data.OleDb.OleDbException : Data type mismatch in criteria expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20417522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com