2012-03-09 107 views
1

即時的得到錯誤「爲用戶‘山’登錄失敗」,而我嘗試通過字符串變量設定值登錄用戶'sa'失敗。在連接字符串

private SqlConnection getDbConnection = new SqlConnection("Data Source="+dbname+";Initial Catalog="+catname+";User Id=sa;Password=sa;Integrated Security=false"); 

連接服務器,然後我用正常的連接字符串沒有字符串變量工作就像下面一樣。

private SqlConnection getDbConnection = new SqlConnection("Data Source=Ali-pc\\;Initial Catalog=master;User Id=sa;Password=sa;Integrated Security=false"); 
+2

用戶名和密碼錯了? – 2012-03-09 15:24:14

+3

您是否嘗試調試,並確定這些值是否真的是您認爲的值? – CodeMonkey 2012-03-09 15:24:21

+1

你在哪裏設置'dbname'和'catname'變量? – sloth 2012-03-09 15:25:40

回答

1

也許服務器名稱和數據庫名稱(在DBNAMEcatname變量)只是錯了嗎?

順便說一句,我會建議使用SqlConnectionStringBuilder類。

var sb = new SqlConnectionStringBuilder() { InitialCatalog = catname, 
              DataSource = dbname, 
              UserID = "sa", 
              Password = "sa" }; 

var dbConnection = new SqlConnection(sb.ConnectionString); 
+0

沒有沒有權利我檢查已經是多數民衆贊成爲什麼我發佈這個問題 – 2012-03-09 15:30:33

+1

你調試時比較了兩個連接字符串嗎? – sloth 2012-03-09 15:37:02

2

把你的ConnectionString在web.config文件如我下面

<connectionStrings> 
<add name="Test" connectionString="data source=Harsh; Initial Catalog=Test ; user Id=sa; password=sa123;"/> 
</connectionStrings> 

以上「測試」的connectionStringName,你可以寫你的數據源name.Mine惡劣,所以要根據你改變了它在inital目錄中提供您的數據庫名稱。

然後把這個代碼在後面的代碼頁加載事件

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Test"].ToString()); 

它將工作。