如何从数据库中检索数据

本文关键字:检索 数据 数据库 | 更新日期: 2023-09-27 18:05:22

在我的数据库表中我有两列:pagenamepageinfo。当我通过pagename时,我想检索数据。我使用的代码是我今天从Stackoverflow得到的,但是代码中的一些问题抛出了一个错误:

类型为'System '的异常。在System.Data.dll中发生了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();
如果reader["pageinfo"]为null,则ToString()将抛出异常。

将上面一行替换为:

if(reader["pageinfo"] != null)
{
   return reader["pageinfo"].ToString();
}
else
{
   return "";
}

或使用空条件运算符:

return reader["pageinfo"]?.ToString();

编辑

您还需要在返回

之前添加Read()
reader.Read();
return reader["pageinfo"]?.ToString();