[英]Set SQL Server name in connection string not working
我有Formselectserver
,從組合框中獲取SQL Server的名稱。 我也有form2
在哪里是主要形式。
我將combobox.selectedvalue
發送到form2中的連接字符串,但這不起作用。
我希望用戶在網絡中選擇一個SQL Server並連接到它。
Formselectserver objfrmserver = new Formselectserver();
private const string strconnection =
@"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue +
"';database = anfd; Integrated Security = SSPI";
錯誤是:
非靜態字段,方法或屬性'exportdatafromholoo.Form1.objfrmserver'需要對象引用
有兩件事是錯誤的:
const
。 objfrmserver
還是該類的成員嗎? 您不能互相初始化同一類中的字段。 將初始化移到構造函數。 嘗試這個:
public void MyMethod()
{
Formselectserver objfrmserver = new Formselectserver();
string strconnection = @"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue + "';database = anfd; Integrated Security = SSPI";
}
const
是一個編譯時常量,因此只能包含在編譯時已知的內容-基本上是文字。
objfrmserver
是實例(按對象)字段,在運行時是對另一個對象的引用。 這是行不通的。 因此,基本上,您的strconnection
不能是const
。 我懷疑這是一個領域也沒有太多目的。 但作為變量可能是有道理的,即
public void Connect() {
var strconnection = @"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue + "';database = anfd; Integrated Security = SS=PI";
var conn = new SqlConnection(strconnection);
conn.Open();
// etc...
}
您可能還希望查看SqlConnectionStringBuilder
,以避免必須知道與服務器名稱關聯的轉義規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.