Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t修复C中内部联接查询中的语法错误#_C#_Join_Syntax - Fatal编程技术网

C# Can';t修复C中内部联接查询中的语法错误#

C# Can';t修复C中内部联接查询中的语法错误#,c#,join,syntax,C#,Join,Syntax,我正在尝试获取下面查询的结果并将其显示在列表框中,但我一直收到此错误: “a”附近的语法错误 这是我的密码: SqlConnection con = new SqlConnection(@"Data Source=JOHZZ\SQLEXPRESS;Initial Catalog=parking;Persist Security Info=True;User ID=SA;Password=Roses2004"); SqlCommand c3 = new SqlCommand("SELECT ta

我正在尝试获取下面查询的结果并将其显示在列表框中,但我一直收到此错误:

“a”附近的语法错误

这是我的密码:

SqlConnection con = new SqlConnection(@"Data Source=JOHZZ\SQLEXPRESS;Initial Catalog=parking;Persist Security Info=True;User ID=SA;Password=Roses2004");

SqlCommand c3 = new SqlCommand("SELECT targa" +
                               "FROM mjete AS m " + 
                               "INNER JOIN abonimi_mjet AS a" +
                               "ON m.mjeti_id = a.mjeti_id" +
                               "WHERE a.statusi = 'PASIV'" +
                               "AND m.klient_id = @idK", con);

con.Open();
c3.Parameters.AddWithValue("@idK",idK);

SqlDataReader reader2 = c3.ExecuteReader();

while (reader2.Read())
{
    listBoxTarga.Items.Add(reader2.GetString(0));
}

reader2.Close();
con.Close();
我在SQLServerManagementStudio中尝试了相同的查询,结果很好


提前感谢您的帮助。

您需要在两行之间留出一段距离。使用+符号将它们作为一个字符串相加,只需在每个字符串的末尾添加一个空格

SqlCommand c3 = new SqlCommand("SELECT targa " +
       "FROM mjete AS m INNER JOIN abonimi_mjet AS a " +
       "ON m.mjeti_id = a.mjeti_id " +
       "WHERE a.statusi = 'PASIV' " +
       "AND m.klient_id = @idK", con);
由于c#文件中的换行符不是字符串换行符,因此您现在得到的结果是该字符串

"SELECT targaFROM mjete AS m INNER JOIN abonimi_mjet AS aON m.mjeti_id = a.mjeti_idWHERE a.statusi = 'PASIV'AND m.klient_id = @idK"

旁注
您应该将您的
SqlConnection
实例包装在
using
块中,以确保在使用完后(即使发生异常),它始终处于关闭/释放状态。您的
SqlDataReader
实例也是如此。

行与行之间需要一个空格。使用+符号将它们作为一个字符串相加,只需在每个字符串的末尾添加一个空格

SqlCommand c3 = new SqlCommand("SELECT targa " +
       "FROM mjete AS m INNER JOIN abonimi_mjet AS a " +
       "ON m.mjeti_id = a.mjeti_id " +
       "WHERE a.statusi = 'PASIV' " +
       "AND m.klient_id = @idK", con);
由于c#文件中的换行符不是字符串换行符,因此您现在得到的结果是该字符串

"SELECT targaFROM mjete AS m INNER JOIN abonimi_mjet AS aON m.mjeti_id = a.mjeti_idWHERE a.statusi = 'PASIV'AND m.klient_id = @idK"

旁注
您应该将您的
SqlConnection
实例包装在
using
块中,以确保在使用完后(即使发生异常),它始终处于关闭/释放状态。您的
SqlDataReader
实例也是如此。

。。。您还应该使用块将
SqlCommand
包装成一个
。。。。。。您还应该使用
块将
SqlCommand
包装成一个
。。。