2011-12-01 47 views
0

UPDATE:錯誤是由命名爲OleDbConnection的隱藏的OleDbConnection構造,因此不呈現所述過載方法類引起的。無法傳遞連接字符串OleDbConnection的

我在學習如何使用OLE數據庫連接,但是我遇到了一個probem馬上的早期階段。儘管學生的重載方法來創建一個OleDbConnection連接它根本不會讓我傳遞一個連接字符串。

繼承人什麼,我想。

private OleDbConnection _myConnection = null; 

public bool CreateConnection() 
{ 
    try 
    { 
     _myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["OracleDefault"].ConnectionString); 
    } 
    catch (Exception e) 
    { 
     throw new Exception(e.Message); 
    } 

    return true; 
} 

現在似乎沒有要什麼不對,但是我得到一個錯誤,指出該方法具有0參數,但被調用,有1個說法。我看到無數的例子表明它以這種方式完成,但由於某種原因,它不會讓我這樣做。有任何想法嗎?

更新:刪除了分號作爲它不是應該在,但是我貼這個不是問題的例子。它根本不會接受任何形式的字符串。

+0

奇怪的是,這對我很有用。請看看http://stackoverflow.com/questions/178456/what-is-the-proper-way-to-re-throw-an-exception-in-c。 「拋出新的異常(e.Message);」是非常糟糕的做法,因爲你將失去你的堆棧跟蹤(等等)。 – DaveShaw

+0

感謝您的評論和鏈接戴夫。拋出新的異常不會停留在那裏,它只是一個快速的類型在這裏粘貼。 – CSharpened

回答

0

UPDATE:錯誤是由命名爲OleDbConnection的隱藏的OleDbConnection構造,因此不呈現所述過載方法類引起的。

1

只需刪除;在[「OracleDefault」] .ConnectionString之後。使用替代

+0

The;不應該在那裏。這是我在這裏輸入的例子中的一個錯誤。即使刪除了它,它仍然不接受任何參數。 – CSharpened

0

_myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings.["OracleDefault"].ConnectionString); 

_myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings.["OracleDefault"].ConnectionString;); 

構造包含超載需要

+0

The;不應該在那裏。這是我在這裏輸入的例子中的一個錯誤。即使刪除了它,它仍然不接受任何參數 – CSharpened