gpt4 book ai didi

c# - 数据类型不匹配

转载 作者:行者123 更新时间:2023-11-30 17:41:57 26 4
gpt4 key购买 nike

当我尝试从数据库中选择用户 ID 到数据表时出现此错误。第一个 userid 是一个自动编号,第二个 USERID 是一个数字,数据库是一个 MS Access DB。

private void ()
{
OdbcDataAdapter ad = new OdbcDataAdapter("select userid from userinfo where BadgeNumber='" + UserID + "'", this.FM.Cn);
DataTable t = new DataTable();
ad.Fill(t);
ad.Dispose();
if (t.Rows.Count > 0)
{
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = this.FM.Cn;

string id = t.Rows[0][0].ToString();
//Check Date
OdbcDataAdapter add = new OdbcDataAdapter("Select USERID from checkinout where Userid='" + id + "'", this.FM.Cn);
DataTable tc = new DataTable();
add.Fill(tc); // <- I gotta error here.
add.Dispose();
}
}

最佳答案

将您的查询更改为:

"Select USERID from checkinout where Userid=" + id

在 SQL 查询中,字符串文字(或字符)需要用一对单引号 ' 括起来,用于分隔字符串。定界符几乎是一个用于标识边界的字符 - 在字符串的情况下,单引号指定字符串的开始位置和结束位置。

由于数字的性质(例如整数),没有必要指示单引号等分隔符。您的代码失败是因为当 database engine看到单引号,它需要一个字符串,但您的列是数字数据类型,这就是为什么您在执行查询时遇到数据类型不匹配错误。

关于c# - 数据类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303994/

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