c# - 如果 DataTable 字段上的语句不返回 true

标签 c# mysql

我的 if 条件语句正确吗?我正在尝试读取我的表列的值,如果它包含值1,那么它将获得我正在搜索的书的值。

代码没有任何错误。它可以编译。

string sql = "SELECT * FROM tbladdbook WHERE fBarcodeNo LIKE '" + txtBARCODE.Text.Trim() + "%'";
cfgotcall.engageQuery(sql);

if (cfgotcall.tbl.Rows[0]["fCurrentCopies"].ToString().Equals(1))
{
    txtTITLE.Text = cfgotcall.tbl.Rows[0][1].ToString();
}
else 
{
    MessageBox.Show("Book already borrowed.");
}

最佳答案

If 语句不起作用,因为您比较 stringint。所以它总是返回 false。

if (cfgotcall.tbl.Rows[0]["fCurrentCopies"].ToString().Equals(1))
  1. cfgotcall.tbl.Rows[0]["fCurrentCopies"].ToString() => 这是一个字符串。也许是“1”
  2. 1 是一个整数 (int)

=> 要使其正常工作,您应该将 1(整数)更改为“1”(字符串),如下所示:

if (cfgotcall.tbl.Rows[0]["fCurrentCopies"].ToString().Equals("1"))

关于c# - 如果 DataTable 字段上的语句不返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42477904/

相关文章:

mysql - SQL/Knime - 带 "Group By"的转置表

mysql - 如何根据mysql中其他两列的数据在列中插入数据

mysql - 无法从 Rails 应用程序连接到 Mysql

c# - 通过将抽象类实例化为模拟对象来对其进行单元测试是否可以?

c# - 基于对象参数的模拟方法返回

c# - Control.Controls 属性是否返回递归嵌套的控件?

c# - nhibernate 投影到匿名类型

c# - 来自 IOperationInvoker 的方法名称

javascript - foreach循环使用字符串输出XML

php - 在MySQL中执行准备语句时出错