[英]Retrieve data from database - how?
在数据库表中,我有两列: pagename
和pageinfo
。 我希望在传递pagename
时检索数据。 我使用了今天从Stackoverflow获得的代码,但是代码中的某些问题引发了错误:
System.Data.dll中发生类型'System.InvalidOperationException'的异常,但未在用户代码中处理。其他信息:在不存在数据的情况下,尝试读取无效。)
这是代码:
public string GetPageInfo(string filenames)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=.;Integrated Security=True");
con.Open();
SqlCommand command = new SqlCommand("Select pageinfo from T_Pages where pagename=@filenames", con);
command.Parameters.AddWithValue("@filenames", filenames);
// int result = command.ExecuteNonQuery();
using (SqlDataReader reader = command.ExecuteReader())
{
return reader["pageinfo"].ToString(); ;
}
// return string GetPageInfo;
}
这是因为:
return reader["pageinfo"].ToString();
如果读取器[“pageinfo”]为空,则的ToString()将抛出异常。
替换上面的行:
if(reader["pageinfo"] != null)
{
return reader["pageinfo"].ToString();
}
else
{
return "";
}
或使用空条件运算符 :
return reader["pageinfo"]?.ToString();
编辑
您还需要在返回之前添加Read() :
reader.Read();
return reader["pageinfo"]?.ToString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.