6

次のコードを使用して、リモートMySQLサーバーに接続しようとしています。データベース接続情報の変数への置き換えが機能していないように見えるので、私が間違っていることを教えてください。

   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);

PHP開発者として、私は以下の意図的なキャストではなく、上記のコードを使用することを好みます。

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

しかし、この画像でわかるように、私はたくさんの赤い波線を取得しています: http ://screencast.com/t/xlwoG9by

4

2 に答える 2

10

パラメータの順序が間違っています。次のようになります。

db_server, db_Name, db_User, db_Pass

現在は次のとおりです。

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

したがって、ステートメントは次のようになります。

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

編集:コメントと議論に基づいて、あなたが得ているエラーは、あなたがクラスレベルですべてのものを試しているということです。これらの行をメソッド内に配置し、必要な場所でそのメソッドを呼び出す必要があります。何かのようなもの:

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;
    }
}
于 2012-12-19T09:46:50.117 に答える
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()がありません

于 2012-12-19T09:48:00.923 に答える