Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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# 我的sql命令有什么问题?_C#_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

C# 我的sql命令有什么问题?

C# 我的sql命令有什么问题?,c#,sql,sql-server,sql-server-2008,C#,Sql,Sql Server,Sql Server 2008,我已经试了好几个小时了,但我想不出是怎么回事 var cmd = new SqlCommand(); cmd.Parameters.Clear(); cmd.Connection = mySqlConnection; cmd.CommandType = CommandType.Text; cmd.CommandText = "select Calle.Id_Calle FROM" + "TominPredial.Calle as Calle,"+ "Tomin

我已经试了好几个小时了,但我想不出是怎么回事

var cmd = new SqlCommand();
cmd.Parameters.Clear();
cmd.Connection = mySqlConnection;
cmd.CommandType = CommandType.Text;
cmd.CommandText = 
    "select Calle.Id_Calle FROM" + 
      "TominPredial.Calle as Calle,"+
      "TominPredial.Colonia as Col," +
      "TominPredial.Poblacion as Pob" +
     "WHERE Calle.Nombre = @NombreCalle" +
            "and Col.Id_Colonia = @id_col and Pob.Id_Poblacion = @id_pob";
cmd.Parameters.Add("@NombreCalle", nombreCalle);
cmd.Parameters.Add("@id_col", id_col);
cmd.Parameters.Add("@id_pob", id_pob);
cmd.ExecuteScalar()

“Calle”附近的语法不正确

两行之间没有空格:

"select Calle.Id_Calle FROM" + 
  "TominPredial.Calle as Calle,"+
  "TominPredial.Colonia as Col," +
  "TominPredial.Poblacion as Pob" +
 "WHERE Calle.Nombre = @NombreCalle" +
        "and Col.Id_Colonia = @id_col and Pob.Id_Poblacion = @id_pob";
这将使查询
。。。从tominpredial.calle。。。pobWHERE..
将生成语法错误

你必须在行尾的关键字之间加空格。大概是这样的:

...
"select Calle.Id_Calle FROM" + 
" TominPredial.Calle as Calle,"+
" TominPredial.Colonia as Col," +
" TominPredial.Poblacion as Pob" +
" WHERE Calle.Nombre = @NombreCalle" +
"   and Col.Id_Colonia = @id_col and Pob.Id_Poblacion = @id_pob"; 
/\
put a Spaces here

您正在从3个表中选择一个字段。为什么你不加入这些表格?@波林,我不需要加入他们,我只需要ID,这就是为什么我使用ExcutSeCalar这是一个隐含的内部连接。在每个子串的末尾添加一个空间会有帮助。考虑使用多行字符串。这个错误在另外两个地方。只需调试它,查看没有换行符的文本值,并查看您忘记了空格的位置。