2012-12-19 27 views
6

Aşağıdaki kodu kullanarak uzak MySQL sunucusuna bağlanmaya çalışıyorum. Değişkenlerle veritabanı bağlantı bilgilerinin değiştirilmesinin çalışmadığı göründüğü için yanlış yaptığımı söyleyebilir misiniz? Bir PHP geliştiricisi olarak Bu Veritabanı bağlantı dizesinde sorun nedir?

using MySql.Data.MySqlClient;  

    string db_Server = "10.0.0.0"; 
    string db_Name = "myDatabase"; 
    string db_User = "myUser"; 
    string db_Pass = "myPassword"; 


    // Connection String 
    MySqlConnection myConnection = new MySqlConnection("server = {0}; database = {1}; uid = {2}; pwd = {3}", db_server, db_Name, db_User, db_Pass); 

, aşağıda kasıtlı döküm yerine yukarıdaki kodu kullanmayı tercih:

MySqlConnection myConnection = new MySqlConnection("server=10.0.0.0; database=myDatabase; uid=myUser; pwd=myPassword"); 

Ama bu resimde görebileceğiniz gibi, ben kırmızı squiggles bir sürü alıyorum : En parametresinin http://screencast.com/t/xlwoG9by

+4

'db_Server bağlantı dizesi oluşturulması konusunda ele db_Name, db_User, db_Pass 'db_Server, db_User, db_Pass, db_Name' – Bolu

cevap

10

Sipariş yanlıştır, bu olmalıdır:

db_server, db_Name, db_User, db_Pass 

Şu anda geçerli:

"server = {0}; database = {1}; uid = {2}; pwd = {3}" 
     db_Server   db_User db_Pass db_Name 

Yani deyimi olmalıdır:

MySqlConnection myConnection = new MySqlConnection(string.Format(
"server = {0}; database = {1}; uid = {2}; pwd = {3}", 
db_Server,db_Name, db_User, db_Pass)); 

DÜZENLEME: yorum ve tartışma dayalı, sen alıyorsanız hata sen hiç şeyler çalışmaktır sınıf seviyesi Bu satırları bir yöntemin içine almalı ve ihtiyacınız olduğu yerde bu yöntemi çağırmalısınız. Bir şey gibi:

class MyClass 
{ 
    string db_Server = "10.0.0.0"; 
    string db_User = "myUser"; 
    string db_Pass = "myPassword"; 
    string db_Name = "myDatabase"; 


    public MySqlConnection GetConnection() 
    { 
     MySqlConnection myConnection = new MySqlConnection(string.Format(
        "server = {0}; database = {1}; uid = {2}; pwd = {3}", 
        db_Server, db_Name, db_User, db_Pass)); 
     return myConnection; 
    } 
} 
+1

Sunucudan sonra da bir bağlantı noktasına ihtiyacınız olabilir. –

+1

string.Format – Habib

+0

'u dahil etmeyi unutmayın Bu benim için çalışmıyor ... hala kırmızı dalgalı çizgiler oluyor .... – Jeagr

1
MySqlConnection myConnection = new MySqlConnection(string.Format("server = {0}; database = {1}; uid = {2}; pwd = {3}", db_Server, db_User, db_Pass, db_Name)) 

String.format()

+0

Dize ile. Diğer sorunu biçimlendirmek yanlış parametredir, bu – Habib

+0

Doğru ayarlamalısınız. Bunu özledim. Ama temelde kırmızı dalgalı çizgiler eksik string.Format();) nedeniyle oluşur. –

2

bu link tıklayarak sakıncası eksik, hepsi MySQL Sunucu :)