C# 如何解析System.Data.SqlClient.SqlException异常

C# 如何解析System.Data.SqlClient.SqlException异常,c#,sql,sqldatareader,sqlexception,C#,Sql,Sqldatareader,Sqlexception,我遇到了一个问题,我得到了一个例外,我不知道如何处理它,因为我认为我做了 在reader=command.ExecuteReader上,我收到以下异常消息: 中发生类型为“System.Data.SqlClient.SqlException”的异常 System.Data.dll,但未在用户代码中处理 没有任何数据可以读取,这很好,这就是为什么我添加了ifreader.HasRows语句,以防页面加载中没有数据 我应该如何处理这件事 缩写代码如下: protected void Page_Loa

我遇到了一个问题,我得到了一个例外,我不知道如何处理它,因为我认为我做了

在reader=command.ExecuteReader上,我收到以下异常消息:

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

没有任何数据可以读取,这很好,这就是为什么我添加了ifreader.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();
            }
        }
    }
}
用户是,您需要将其包装为[]:

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

用户是,您需要将其包装为[]:


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

是的,这是一个糟糕的判断,在发布此表之后,我发现了这一点,但是由于更改了它,我得到了额外的信息:“=”附近的语法不正确。“=”附近的语法不正确。有什么想法吗?这些东西根本不存在——只是为了简单。问题仍然在于reader=command.Execute;出现上述错误时,@user3626037请首先尝试直接在management studio中运行sql查询。更正后,从这里运行。@user3626037:@user3626037:那么,如果上面的sql被简化,那么您使用的真正sql查询是什么?是的,这是一个糟糕的判断,在发布此消息之后捕捉到了这一点,但是自从更改后,我得到了额外的信息:“=”附近的语法不正确。“=”附近的语法不正确。有什么想法吗?这些东西根本不存在——只是为了简单。问题仍然在于reader=command.Execute;出现上述错误时,@user3626037请首先尝试直接在management studio中运行sql查询。更正后,从这里运行它。@user3626037:@user3626037:那么,如果简化了上述sql,您使用的真正sql查询是什么?
string selectSql = "SELECT tb1,tb2 FROM Stuff INNER JOIN [User] ON [User].Stuff_FK=Stuff.ID";