当用户点击上一页的链接按钮时,我想从数据库中的特定列加载数据。
我正在使用 List<String> strings = new LinkedList<>();
strings.add("Java");
strings.add("is");
strings.add("cool");
String message = String.join(",", strings); //pass delimiter and List
//message returned is: "Java,is,cool"
来执行此操作,但我收到错误:
索引超出了数组的范围。
这是我的代码:
SqlDataReader
其中
private void loadDetails()
{
if (con.State == ConnectionState.Closed)
con.Open();
SqlCommand cmd = new SqlCommand("select expectation from Tours where tourName ='" + tournameLb.Text + "'", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@expectation", lb5.Text);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lb5.Text = dr[4].ToString(); //I get error here
}
dr.Close();
con.Close();
}
答案 0 :(得分:1)
您正在使用值的参数,这是一种好方法,但您需要使用参数化查询:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == desiredIndexPath { // the index where you want automatic dimension
return UITableViewAutomaticDimension
} else {
return 100 // the height of every other cell.
}
}
此外,您的查询只返回一列,但您尝试获取第五列的值并不存在:
SqlCommand cmd = new SqlCommand("select expectation from Tours where tourName = @expectation", con);
或者,您可以使用列的名称而不是索引:
lb5.Text = dr[0].ToString();