【发布时间】:2019-02-17 15:43:19
【问题描述】:
我正在使用 C# 创建一个 windows 窗体。
我正在尝试为通过单击按钮从我的数据库中检索到的特定值设置条件语句。该列的数据类型是“整数”。
下面是我的代码:
string checkquantity = "SELECT `inventory_item`.`Item_Quantity_Available`FROM `inventory_item` , `patient`, `out_treatment`WHERE `inventory_item`.`Item_ID` = `out_treatment`.`Inventory_ID`AND `patient`.`Patient_ID` = `out_treatment`.`Patient_ID`AND `out_treatment`.`Patient_ID`= '" + pid + "' ";
MySqlCommand selectout = new MySqlCommand(checkquantity, connect);
MySqlDataAdapter selectdata = new MySqlDataAdapter(checkquantity, connect);
DataTable selecttable = new DataTable();
selectdata.Fill(selecttable);
DataSet ds = new DataSet();
selectdata.Fill(selecttable);
selectdata.Fill(ds);
int i = ds.Tables[0].Rows.Count;
if ( i <= 0)
{
MessageBox.Show("Out of Stock");
}
我是 C# 新手。
我不认为int i = ds.Tables[0].Rows.Count; 是正确的方式。
非常感谢任何帮助。
【问题讨论】:
-
您的选择中有 3 个表,但没有连接...如果您只想要查询结果,则不应使用 DataTable/DataSet,请使用
selectout.ExecuteScalar()命令返回第一行的第一列。 -
好的..我会试试的
-
您将 PID 变量连接到您的 select 语句中。阅读“SQL 注入”。这是一件非常的坏事。
-
selectout.executescalar()不工作 -
我建议使用更合适的方式来处理Entity Framework docs.microsoft.com/en-us/ef或SqlKata sqlkata.com等数据库