Débogage d'une connection entre VS en C # et SQL Server

Voici un morceau de code sur lequel j'ai travaillé ces derniers jours:

SqlConnection connectMOBILE = new SqlConnection("Server=OMADB03;Database=MOBILE;Trusted_Connection=True;"); ssortingng masterErrorSsortingng; connectMOBILE.Open(); ssortingng ssortingngIncorrectPassword = ssortingng.Concat( "SELECT SERVICE_ID, RESPONSE_DATA, DATE_ENTERED", "FROM WS_TRANSACTION", "WHERE SERVICE_ID = 'GETUSERTOKENLOGIN'"); SqlCommand commandIncorrectPassword = connectMOBILE.CreateCommand(); commandIncorrectPassword.CommandText = ssortingngIncorrectPassword; SqlDataReader reader = commandIncorrectPassword.ExecuteReader(); while (reader.Read()) { masterErrorSsortingng = reader.ToSsortingng(); BOAssistant.WriteLine(masterErrorSsortingng); } 

Ce code utilise une class appelée BOAssistant qui fonctionne comme Console.WriteLine mais écrit à la place dans un file journal.

Ce que ce code doit faire est de collecter les résultats de ma requête et de les placer dans mon file journal, mais lorsque j'exécute ce programme, le message d'erreur suivant s'affiche:

System.Data.SqlClient.SqlException (0x80131904): syntaxe incorrecte près de 'SERVICE_ID'.

Il y a environ 20+ lignes de plus mais c'est celle qui se démarque le plus. C'est la première fois que j'écris un programme qui connecte Visual Studio et SQL Server, donc je me request si quelque chose ne va pas dans le code ou s'il me manque quelque chose dans mon code pour établir une connection plus forte. Ce qui est dans le code est maintenant le résultat de searchs que j'ai faites sur Internet. Aussi quand je cours la requête dans SQL Server cela fonctionne donc je sais que la syntaxe pour la requête est correcte.

Lorsque vous combinez votre string, vous obtenez un SQL incorrect, car les espaces sont manquants. ssortingng.Concat vous crée cette requête:

 SELECT SERVICE_ID, RESPONSE_DATA, DATE_ENTEREDFROM WS_TRANSACTIONWHERE SERVICE_ID = 'GETUSERTOKENLOGIN' 

qui a évidemment des espaces manquants.

Au lieu de cela, mettez à jour votre requête avec des espaces:

 ssortingng ssortingngIncorrectPassword = ssortingng.Concat( "SELECT SERVICE_ID, RESPONSE_DATA, DATE_ENTERED ", // added space "FROM WS_TRANSACTION ", // added space "WHERE SERVICE_ID = 'GETUSERTOKENLOGIN'");