Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
estou com um problema que não consigo entender.
Fiz um comando sql que quando jogo na aplicação, ele retorna 2 erros, sendo que ao executar no no Management Studio executa normalmente.
Segue o que fiz:
try
{
SqlConnection conn = new SqlConnection(@"Server=Server;Database=base;Uid=teste;Pwd=teste;");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = "SELECT DISTINCT EMV01.EMP_FIL, EMV01.DT_MOVTO, EMV01.SEQ, EMV01.C_PROD, ESTOQUE.DESCR_1," +
"EMV01.TIPO_MOVTO, EMV01.QTDE," +
"CASE WHEN ETM01.ES_ARM ='E' THEN QTDE ELSE 0 END AS QTDE_ENT," +
"CASE WHEN ETM01.ES_ARM='S' THEN QTDE ELSE 0 END AS QTDE_SAI," +
"CASE WHEN ETM01.ES_ARM='I' OR ETM01.ES_USO='I' THEN QTDE ELSE 0 END AS QTDE_INV, EMV01.ID_CANCEL" +
"FROM EMV01 LEFT JOIN" +
"(SELECT DESCR_1, DESCR_1 + ' ' + DESCR_2 AS DESCRICAO, C_PROD AS PROD, DEPOSITO AS DEP, ESTAB AS EST, EMP_FIL AS FIL" +
"FROM TESTEDB_ME.DBO.ESTQ" +
"WHERE(ESTAB = 1) AND (DEPOSITO = 1)) AS ESTOQUE" +
"ON (EMV01.C_PROD COLLATE SQL_Latin1_general_cp1_ci_as = PROD) AND (EMV01.DEPOSITO = DEP) AND (EMV01.ESTAB = EST) AND " +
"(EMV01.EMP_FIL = EMP_FIL) LEFT JOIN ETM01 ON EMV01.TIPO_MOVTO = ETM01.TIPO_MOVTO" +
"WHERE (EMV01.EMP_FIL = EMP_FIL) AND (EMV01.DT_MOVTO = DT_MOVTO) AND" +
"(EMV01.ID_CANCEL Is Null) AND (EMV01.C_PROD LIKE 'PRODUTO%') AND (ESTOQUE.DESCR_1 = DESCR_1)" +
"ORDER BY EMV01.EMP_FIL, EMV01.DT_MOVTO, EMV01.SEQ";
cmd.ExecuteReader();
conn.Close();
}
catch (Exception)
{
throw;
}
}
O erro que retorna é: Sintaxe incorreta próximo ao LEFT e próximo ao TESTEDB_ME.
Obrigado
Carregando comentários...