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);

另外,为了安全起见,您真的应该考虑参数化您的查询,这样您就不会 运行 出现像这样的拼写错误。

您将变量 N​​um 放在单引号之间。这会将您的 Num 转换为字符串。所以删除引号可能是一个解决方案。
但是你真的应该使用参数化查询

   cmd = new OleDbCommand(@"Select Inc, Reviewed from upload 
                           Where NumScore=@v", con);
   cmd.Parameters.AddWithValue("@v", Num);
   da3 = new OleDbDataAdapter(cmd);

这样数据库引擎接收到一个数字参数并正确处理它。