2014-04-19 43 views
-1

我正在一個C#類。一切工作正常,除了這個錯誤:如何解決此錯誤'隱藏'system.data.sqlclient.sqlconnection'到'字符串''

Convert 'system.data.sqlclient.sqlconnection' to 'string'

所以給我回應修復這個錯誤。

代碼:

public void CreateConn() 
{ 
    try 
    { 
     if (constr.State == 0) 
     { 
      constr.ConnectionString = strConnString; 
      constr.Open(); 
     } 
    } 
    catch (Exception exp) 
    { 
     throw exp; 
    } 
} 

在此行中出現的錯誤:

constr.ConnectionString = strConnString; 
+0

你確定'strConnString'被聲明爲一個字符串嗎? – Steve

+0

SqlConnection strConnString = new SqlConnection(ConfigurationManager.ConnectionStrings [「RegistrationConnectionString」] .ConnectionString); – user3501237

+1

而這個問題,strConnString是一個SqlConnection而不是一個字符串 – Steve

回答

1

使用您的ConfigurationManager中返回的字符串

public void CreateConn() 
{ 
    if (constr.State == ConnectionState.Closed) 
    { 
     constr.ConnectionString = ConfigurationManager.ConnectionStrings 
            ["RegistrationConnectionStri‌​ng"].ConnectionString; 
     constr.Open(); 
    } 
} 

在你的代碼中的錯誤是試圖分配一個SqlConnection實例,它是一個簡單字符串的ConnectionString屬性。
變量strConnString有一個令人誤解的名稱,在這種情況下根本不需要。

請注意,我已經刪除了無用的try/catch,因爲您沒有對異常做任何處理,只是重新拋出異常,只是將異常數據中的堆棧信息摧毀。

要避免的另一件事(我認爲你可能有問題來編譯代碼)是使用常量0來檢查連接狀態。你應該使用適當的枚舉

相關問題