我对使用数据读取器不熟悉,我需要以下代码的帮助,我想从数据库中检索单个数据。
MySqlDataAdapter data = new MySqlDataAdapter(cmd);
conn.Open();
DataTable dt = new DataTable();
data.Fill(dt);
gridView1.DataSource = dt;
int retrievedValue = 0;
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
if ((int)reader["order_status"] == 0)
{
retrievedValue = (int)reader.GetValue(0);
GridView View2 = sender as GridView;
e.Appearance.BackColor = Color.Green;
e.Appearance.BackColor2 = Color.ForestGreen;
}
}
}
reader["order_status"]
返回object
,因为您告诉它已经是整数,所以需要将其强制转换为int
first。
您还需要使用==
运算符,因为它是相等运算符。=
运算符是赋值运算符。
if ((int)reader["order_status"] == 0)
或者,您可以将GetInt32
method与基于零的列号一起使用。假设它是查询返回的第一列,您可以像这样使用它;
if(reader.GetInt32(0) == 0)
顺便说一句,如果您只想获得单个值,我强烈怀疑您可能想使用ExecuteScalar
method,因为它是第一行的第一列。然后,您可以将查询构造为SELECT order_status FROM ...
等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句