2011-06-07 64 views
1
TextBox1=Server Name 

TextBox2=Db Name 

TextBox3=User Name 

TextBox4=Password 

我聲明爲變量「服務器名稱,數據庫名稱,用戶名,密碼」。我的問題是;我想通過他們在另一臺機器上測試我的sql連接。 我怎麼用c#來做到這一點?與C#的SQL連接

//// SqlConnection conn = new SqlConnection 

////("Data Source="+ server +";Initial Catalog=DATA;Persist Security Info=True;User ID=sa"); 

回答

3

您可以使用SqlConnectionStringBuilder對於這種情況:

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); 

builder.DataSource = TextBox1.Text.Trim(); 
builder.InitialCatalog = TextBox2.Text.Trim(); 
builder.UserID = TextBox3.Text.Trim(); 
builder.Password = TextBox4.Text.Trim(); 

string result = builder.ConnectionString; 

這建立了連接字符串,並將其作爲最終結果。

另外:你可能要爲你的文本框使用更具描述性的名字! tbxDataSource, tbxInitialCatalog等將優於TextBox1, TextBox2

+0

這就是爲什麼我喜歡堆棧溢出:) ...感謝名單馬克新的東西....從我一個給予好評.. – BreakHead 2011-06-07 08:07:09

+0

+1 ...... ...........瞭解新事物.............. – 2011-06-07 08:11:14

1

小修改pranay的回答

bool TestConnection() 
    { 
     SqlConnection conn = new SqlConnection(string.Format(@"user id={0}; password={1};Data Source={2}; 
            Trusted_Connection=yes; 
            Initial Catalog={3}; 
            connection timeout=30", userName,password,serverName,database)); 
     try 
     { 
      conn.Open(); 
      return true; 
     } 
     catch (Exception e) 
     { 
      return false; 
     } 
    }