你好,在你把它标记为副本之前,我已经看过并试过别人,没有运气。我一直收到字符串getBrand
的错误说:
并非所有代码路径都返回一个值。
private string getBrand(string id)
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select brand from tbl_products where productId = '" + id + "'";
cmd.ExecuteNonQuery();
con.Close();
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
getBrand = dt.Rows[0][0].ToString();
}
下面是我收到字符串' id'传递给getBrand
String希望运行查询。
for (int i = 0; i < salesGridView.Rows.Count; i++)
{
table2.AddCell(new Phrase(salesGridView[1, i].Value.ToString(), normFont));
string id = salesGridView[0, i].Value.ToString();
table2.AddCell(new Phrase(getBrand(id), normFont));
}
答案 0 :(得分:4)
您已将dt.Rows[0][0].ToString();
存储到方法的名称中。您需要从方法中返回以下行:
return dt.Rows[0][0].ToString();
或者将其存储在另一个变量的名称中,然后返回该变量。像这样:
var temp = dt.Rows[0][0].ToString();
return temp;
答案 1 :(得分:0)
你应该这样做:
private string getBrand(string id)
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select brand from tbl_products where productId = '" + id + "'";
cmd.ExecuteNonQuery();
con.Close();
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
return dt.Rows[0][0].ToString();
}