SqlException未由在System.Data.dll中进行处理

本文关键字:处理 dll Data System SqlException | 更新日期: 2023-09-27 18:20:55

因此,当我收到以下错误时,我正在尝试运行我的代码:

System.Data.dll中发生类型为"System.Data.SqlClient.SqlException"的异常,但未在用户代码中进行处理附加信息:"b"附近的语法不正确

代码如下:

            string query = "select a.Navn from Ejer a" +
                       "INNER JOIN SlipsEjer b ON a.Id = b.EjerId" +
                       "Where b.SlipsId = SlipsId";
        using (connection = new SqlConnection(connectionString))
        using (SqlCommand command = new SqlCommand(query, connection))
        using (SqlDataAdapter adapter = new SqlDataAdapter(command))
        {
            command.Parameters.AddWithValue("@SlipsId", SlipsLB.SelectedValue);
            DataTable ejerTable = new DataTable();
            adapter.Fill(ejerTable);
            EjerLB.DisplayMember = "Navn";
            EjerLB.ValueMember = "Id";
            EjerLB.DataSource = ejerTable;
        }

我不知道为什么。。我试着在Sql中的一个新查询中运行它,它在那里运行得很好。。

真的希望你们能帮忙!感谢

SqlException未由在System.Data.dll中进行处理

在每行末尾添加一个空格。同时为参数添加一个@符号。

string query = "select a.Navn from Ejer a " +
               "INNER JOIN SlipsEjer b ON a.Id = b.EjerId " +
               "Where b.SlipsId = @SlipsId";

有人建议在评论中使用逐字逐句的字符串。这是一个逐字逐句的字符串示例。您可以从Management Studio轻松复制查询。尽管我更喜欢使用存储过程。

string query = @"
select a.Navn from Ejer a
INNER JOIN SlipsEjer b ON a.Id = b.EjerId
Where b.SlipsId = @SlipsId
";
相关文章: