2017-09-07 43 views
-2

J'essaie d'utiliser le gestionnaire sqlException, mais cela ne fonctionne pas. J'ai essayé de faire des recherches et d'examiner tout ce que je sais. Utilisation de Visual Studio 2017 (dernière mise à jour), Xamarin, .net 4.7, mises à jour de créateurs Windows 10. J'utilise le bon paquet, mais ce n'est pas reconnu. Mon code est ci-dessous. Je dois soit manquer quelque chose, ou ne vois pas quelque chose, mais cela devrait fonctionner comme prévu. L'exception standard fonctionne, mais l'exception SqlException n'est pas reconnue. S'il vous plaît aider.SqlException ne fonctionne pas en C#

using System; 
using System.Data.SqlClient; 
using System.Data.SqlClient.SqlException; 

namespace MobileWebServices.SqlClientFiles 
{ 
    public partial class SqlClient 
    { 
     private int GetMaxECMDataID(string tClientNumber, string tClientPassCode, string tFileID) 
     { 
      int maxECMDataID = 0; 
      var tempConnection = GetTempConnection(); 
      try 
      { 
       tempConnection.Open(); 
       string SQLString = "SELECT max(ECMDataID) as mECMDataID FROM ECMData WHERE FileId = " + "'" + tFileID + "'" + " and iPadLocation = " + 
        "'" + tClientNumber + "'" + " and licensePassCode = " + "'" + tClientPassCode + "'"; 
       var sqlcommand = new SqlCommand(SQLString, tempConnection); 
       maxECMDataID = (int)sqlcommand.ExecuteScalar(); 
      } 
      catch (SqlException sqlex) 
      { 
      } 
      catch (Exception ex) 
      { 

       Console.WriteLine(ex.Message); 
      } 
+1

Que voulez-vous dire par « non reconnu »? Quelle est l'erreur * spécifique * que vous voyez? – David

+1

quelle est la 3ème utilisation (using System.Data.SqlClient.SqlException;) SqlException est une classe pas un espace-nom – mnieto

+4

Votre capture est vide donc si l'un est élevé que voulez-vous faire? (Vous êtes vulnérable à l'injection, donc cela devrait être refactorisé pour utiliser SqlParameters) –

Répondre

0

Fonctionne comme prévu sur ma machine. Si vous copiez la ligne du bloc Exception dans le bloc catch SqlException, vous devriez voir la sortie. Dans mon cas, je reçois

The ConnectionString property has not been initialized.

+0

compris. Puisque nous utilisons des classes partielles, l'exception SqlException est résolue au moment de la compilation/compilation. Sortit de la classe, compris cela peu de temps après le poste. Tout fonctionne. – andy

+0

merci pour l'assistance des gars. – andy