2012-12-21 54 views
1

Database db = DatabaseFactory.CreateDatabase();附近失敗,我不知道爲什麼。我執行存儲過程與手動參數聲明,她工作得很好。雖然,我沒有被給出任何錯誤或任何可能的結果,所以我不知道什麼是錯的。我在每一行前面的代碼中插入代碼並在Database db = DatabaseFactory.CreateDatabase();行之後停止,然後在告訴IDE繼續它之後,跳過該行並結束函數。數據庫失敗db = DatabaseFactory.CreateDatabase();

爲了記錄,我的參考資料也很好。我從另一個項目中抽取了代碼,所以我可能只是錯過了一些愚蠢的東西。無論如何,這裏是代碼:

public class PullDebtor 
{ 
    public static DataTable ClientNumber(string strClientID) 
    { 

     DataSet dsDebtor = new DataSet(); 
     dsDebtor.Tables.Add("Debtors"); 
     DbCommand dbCommand = null; 

     try 
     { 

      Database db = DatabaseFactory.CreateDatabase(); 

      string sqlCommand = "sp_PullClientID"; 
      DbCommand dbCommand1 = db.GetSqlStringCommand(sqlCommand); 
      dbCommand1.CommandType = CommandType.StoredProcedure; 
      db.AddInParameter(dbCommand1, "@ClientID", DbType.String, strClientID); 

      db.ExecuteNonQuery(dbCommand1); 

      dsDebtor = db.ExecuteDataSet(dbCommand1); 
     } 
     catch 
     { 
      return dsDebtor.Tables[0]; 
     } 
     finally 
     { 

     } 
     return dsDebtor.Tables[0]; 

    } 
} 
} 

回答

4

編輯完.config板塊?您需要somethig像:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 

而且你還需要一個配置部分指向您已在連接字符串部分中定義的連接字符串:我收到的「名稱‘調試’不存在

<dataConfiguration defaultDatabase="Connection String" /> 
+0

我實際上錯過了那些重要的步驟。但是,將它們添加到各自的位置之後,我們沒有比以前更進一步。會看到我的web.config文件幫助?當我遇到錯誤時我可以排除故障,但是如果沒有錯誤,我實際上是無用的。 – MrS1ck

+0

<節 名稱= 「dataConfiguration」 類型= 「Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data」/> 固定它!我只是堅持: 在我的配置關閉前的底部。 感謝您的幫助! – MrS1ck

0

你可能知道你爲什麼不忽略這個異常。 catch { ... }很少一個好主意(這實際上從來不是一個好主意,但我試圖避免總是/從不給出建議時)。

修改代碼以這樣的事,看看你是否還需要幫助:

try 
{ 
    Database db = DatabaseFactory.CreateDatabase(); 

    ... 
} 
catch(Exception ex) 
{ 
    // this will dump to the output window in VS when running a Debug build. 
    // Release logging will require something different 
    System.Diagnostics.Debug.WriteLine(ex); 

    ... 
} 
+0

在當前的情況下' 是我需要添加的調試引用嗎? – MrS1ck