2012-06-19 22 views
-1

這是我常用的app.config名稱「XXX」不存在當前上下文

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="BO" 
     connectionString="Data Source=MyServer;Initial Catalog=BO;User ID=WebUser;Password=xxxx" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

而且我工作的圖書館,class.cs存在。以下是代碼中發生錯誤的部分。

public static SqlConnection getNewConnection() 
     { 
      string conection = ConfigurationManager.ConnectionStrings["BO"].ConnectionString.ToString(); 
      conn = new SqlConnection(conection); 
      return conn; 
     } 

錯誤1 '參數conn' 這個名字不會在目前情況下

任何想法存在嗎?我沒有複製任何其他文件被引用到同一個文件。 (我讀過的一些錯誤在「當前上下文中不存在」時很常見)

+2

「conn」在哪裏申報? –

+0

[名稱'controlname'在當前上下文中不存在]的可能重複(http://stackoverflow.com/questions/706603/the-name-controlname-does-not-exist-in-the-current-context ) – Ben

+0

看起來你正在使用未聲明的變量。 –

回答

8

conn在哪裏聲明?你已經在外部範圍申報了嗎?如果不是,宣佈它,你會很好。

改變這一行

conn = new SqlConnection(conection); 

SqlConnection conn = new SqlConnection(conection); 

您可以使用關鍵字var交替使用隱式聲明。它可從C# 3.0起。

var conn = new SqlConnection(conection); 

編譯器會推斷出變量的類型從表達上的初始化語句的右側

msdn

的隱式類型的局部變量強類型剛就好像你自己已經聲明瞭這個類型,但編譯器確定了類型

+0

不知道「var」,非常感謝! –

3

變化conn = new SqlConnection(conection);var conn = new SqlConnection(conection);

2

變化:

conn = new SqlConnection(conection); 

到:

SqlConnection conn = new SqlConnection(conection); 

這應該解決您的問題,您需要定義你是哪種類型的對象創建

相關問題