如何解决 System.Data.SqlClient.SqlException 异常

本文关键字:Data SqlClient SqlException 异常 System 何解决 解决 | 更新日期: 2023-09-27 18:33:44

我遇到了一个问题,我遇到了异常,我不确定如何处理它,就像我想的那样。

reader = command.ExecuteReader()我收到以下异常消息:

类型为"System.Data.SqlClient.SqlException"的异常发生在 System.Data.dll,但未在用户代码中处理。

没有任何数据可以提取,这很好,这就是为什么我添加了 if(reader.HasRows) 语句,以防页面加载时没有数据。

我应该如何处理这个问题?

缩写

代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    using (SqlConnection connection = new SqlConnection(
        ConfigurationManager.ConnectionStrings["LocalConnection"].ConnectionString))
    {
        string selectSql = "SELECT tb1,tb2 FROM Stuff INNER JOIN User ON " + 
            "User.Stuff_FK=Stuff.ID";
        using (SqlCommand command = new SqlCommand(selectSql, connection))
        {
            // populate already existing data
            SqlDataReader reader;
            connection.Open();
            reader = command.ExecuteReader();
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    TB1.Text = reader["tb1"].ToString();
                    TB2.Text = reader["tb2"].ToString();
                }
                reader.Close();
            }
            else
            {
                connection.Close();
            }
        }
    }
}

如何解决 System.Data.SqlClient.SqlException 异常

User是一个

保留关键字,您需要将其包装在[]中:

string selectSql = "SELECT tb1,tb2 FROM Stuff INNER JOIN [User] ON [User].Stuff_FK=Stuff.ID";

出于这个原因,我会选择一个不同的表名。顺便说一下,Stuff也是一个 T-SQL 函数,但如果该表存在,它应该无论如何都可以工作。