這是代碼:「SqlConnection的」不包含一個構造函數4個參數
public void SqlDbConnect()
{
SqlConnection conn = new SqlConnection("Data Source={0};User ID={1};Password={2};", server, user, password);
conn.Open();
}
我儘量讓通過服務器名稱,用戶連接和傳遞。
這是代碼:「SqlConnection的」不包含一個構造函數4個參數
public void SqlDbConnect()
{
SqlConnection conn = new SqlConnection("Data Source={0};User ID={1};Password={2};", server, user, password);
conn.Open();
}
我儘量讓通過服務器名稱,用戶連接和傳遞。
您需要格式化字符串,然後該字符串傳遞給構造函數(這是一個C#6特定功能):
SqlConnection conn = new SqlConnection($"Data Source={server};User ID={user};Password={password};");
或者在舊的C#版本,你可以使用string.Format
:
SqlConnection conn = new SqlConnection(string.Format("Data Source={0};User ID={1};Password={2};", server, user, password));
你應該提到的是,較早的是一個C#6語法,它可能不適用於老版本的VS – Rahul
@Rahul說,指定它是** C#6 **功能。 –
看起來像你試圖將格式化的字符串傳遞給構造函數,請這樣做:
SqlConnection conn = new SqlConnection(string.Format("Data Source={0};User ID={1};Password={2};", server, user, password));
在你的情況佔位符字符串和三個值被認爲是SqlConnection
類的構造函數的參數,這會導致錯誤,因爲'SqlConnection'不包含一個構造函數,它帶有4個參數'。不用擔心,你幾乎有你有使用類似如下:
SqlConnection conn = new SqlConnection(String.Format("Data Source={0};User ID={1};Password={2};", server, user, password));
你錯過了你的代碼的string.Format()
部分:
public void SqlDbConnect()
{
SqlConnection conn = new SqlConnection(string.Format("Data Source={0};User ID={1};Password={2};", server, user, password));
conn.Open();
}
你不能只是彌補方法和構造函數簽名。請參閱您的智能感知和文檔。 – Will