2017-09-07 10 views
-2

sqlExceptionハンドラを使用しようとしていますが、動作していません。私が知っているすべてのものを研究し、レビューしようとしました。 Visual Studio 2017(最新のアップデート)、Xamarin、.net 4.7を使用して、Windows 10のクリエイターが更新されます。私は正しいパッケージを使用していますが、認識されません。私のコードは以下の通りです。私は何かを見逃しているか、何か見ていないかのどちらかですが、これは意図したとおりに動作するはずです。標準のExceptionは機能しますが、SqlExceptionは認識されません。助けてください。C#でSqlExceptionが機能しない

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

を取得しますか?あなたが見ている*具体的なエラーは何ですか? – David

+1

3番目は何を使用していますか(System.Data.SqlClient.SqlException;を使用)SqlExceptionは名前空間ではないクラスです – mnieto

+4

キャッチは空ですので、キャッチが空であれば何をしたいですか? (あなたは注入に脆弱ですので、SqlParametersを使用するようにリファクタリングする必要があります) –

答えて

0

私のマシンでは正常に動作します。 ExceptionブロックからSqlException catchブロックに行をコピーすると、出力が表示されます。私の場合、私はあなたが「認識されない」とはどういう意味ですか

The ConnectionString property has not been initialized.

+0

それを理解しました。部分クラスを使用しているので、SqlExceptionはビルド/コンパイル時に解決されます。クラスを取り出して、ポストの直後にそれを考え出した。すべてが機能しています。 – andy

+0

助けてくれてありがとう。 – andy

関連する問題