2015-10-21 47 views
2

我試圖用這個連接字符串做一些聲明,但SqlCommand沒有接受關鍵字'端口',我的MySql沒有使用默認端口,所以我需要這個連接。有人能幫我嗎?C#:MySQL Connectiostring和SqlCommand沒有接受關鍵字端口

SqlConnection cnn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MySQLConnectionExterno"].ConnectionString); 

SqlCommand command = new SqlCommand("select * from DOADOR where idDOADOR =" + 2 + "", cnn); 
try 
{ 
    cnn.Open(); 
    lblStatus.Text = "Connection Open !"; 
    SqlDataReader reader = command.ExecuteReader(); 
    while (reader.Read()) 
    { 
     lbNome.Text = reader["nome"].ToString(); 
    } 
    cnn.Close(); 
} 
catch (Exception ex) 
{ 
    lblStatus.Text = "Can not open connection !"; 
} 

這是連接字符串,我用「XXXX」更改了信息。

<connectionStrings> 
    <add name="MySQLConnectionExterno" connectionString="Server=XXXXX.com;Port=41890;user id=XXXXX;password=XXXXX;persist security info=True;database=XXXXXX" providerName="MySql.Data.MySqlClient"/> 
    </connectionStrings> 

IMG01: This is what happens when i try to start

+0

在端口關鍵字望着這行:'的SqlCommand命令=新的SqlCommand(「SELECT * FROM DOADOR where idDOADOR =「+ 2 +」「,cnn);'。儘管它本身沒問題,但它讓我懷疑你是否通常使用正確的參數化查詢,或者是否編寫了可怕的不安全代碼。沒有迴旋的餘地。 –

回答

2

您需要下載MySQL連接器,並使用該庫,而不是SqlClient中庫。您可以下載連接器from here

然後,您需要安裝它,將MySql.Data.dll添加到您的項目引用中,並將相應的使用指令添加到源文件的頂部。

using MySql.Data.MySqlClient; 

在此之後,你可以使用MySQL客戶端類和的MySqlConnection能夠理解連接字符串

MySqlConnection cnn = new MySqlConnection(......) 
.... 
MySqlCommand command = new MySqlCommand(.....) 
.... 
MySqlDataReader reader = command.ExecuteReader(); 
+0

謝謝你,我已經試過這個,但沒有使用MySqlDataReader,我的錯誤kkkk。 –