Select 来自 Access 数据库,其中数字等于
Select from Access Database where number is equal to
我在从数字为零的 Access 数据库中选择项目时遇到一些困难。下面是我的代码,我不断收到数据类型错误。在访问时,我将 NumScore 作为长整数。我在双重和没有成功之间来回走动。感谢您的帮助。
int Num= 0;
con.Open();
cmd = new OleDbCommand("Select Inc, Reviewed from upload Where NumScore='" + Num + "'", con);
da3 = new OleDbDataAdapter(cmd);
da3.Fill(dt3);
dataGridView1.DataSource = dt3;
con.Close();
单个撇号导致您的数字被视为字符串文字。删除它们:
cmd = new OleDbCommand("Select Inc, Reviewed from upload Where NumScore=" + Num, con);
另外,为了安全起见,您真的应该考虑参数化您的查询,这样您就不会 运行 出现像这样的拼写错误。
您将变量 Num 放在单引号之间。这会将您的 Num
转换为字符串。所以删除引号可能是一个解决方案。
但是你真的应该使用参数化查询
cmd = new OleDbCommand(@"Select Inc, Reviewed from upload
Where NumScore=@v", con);
cmd.Parameters.AddWithValue("@v", Num);
da3 = new OleDbDataAdapter(cmd);
这样数据库引擎接收到一个数字参数并正确处理它。
我在从数字为零的 Access 数据库中选择项目时遇到一些困难。下面是我的代码,我不断收到数据类型错误。在访问时,我将 NumScore 作为长整数。我在双重和没有成功之间来回走动。感谢您的帮助。
int Num= 0;
con.Open();
cmd = new OleDbCommand("Select Inc, Reviewed from upload Where NumScore='" + Num + "'", con);
da3 = new OleDbDataAdapter(cmd);
da3.Fill(dt3);
dataGridView1.DataSource = dt3;
con.Close();
单个撇号导致您的数字被视为字符串文字。删除它们:
cmd = new OleDbCommand("Select Inc, Reviewed from upload Where NumScore=" + Num, con);
另外,为了安全起见,您真的应该考虑参数化您的查询,这样您就不会 运行 出现像这样的拼写错误。
您将变量 Num 放在单引号之间。这会将您的 Num
转换为字符串。所以删除引号可能是一个解决方案。
但是你真的应该使用参数化查询
cmd = new OleDbCommand(@"Select Inc, Reviewed from upload
Where NumScore=@v", con);
cmd.Parameters.AddWithValue("@v", Num);
da3 = new OleDbDataAdapter(cmd);
这样数据库引擎接收到一个数字参数并正确处理它。