2016-10-15 17 views
0

私はサーバー上にmySqlデータベースを設定しましたが、今はWebサービスを作成するためにそれにアクセスしたいと思います。まず、私のメソッド(OneEntity)でクエリからエンティティを取得してそれを私のリストに入れることができるかどうかをテストしたいだけです。ExecuteReader()オブジェクトは変換できません

public IEnumerable<Person> Get() 
    { 
     return new List<Person> { 
     new Person{ ID = 0, First = OneEntity(), Last ="Example"} 
     }; 

    } 
    public string OneEntity() 
    { 
     MySql.Data.MySqlClient.MySqlConnection mySqlConnection; 
     MySql.Data.MySqlClient.MySqlCommand cmd; 
     String connString = System.Configuration.ConfigurationManager.ConnectionStrings["MySql"].ToString(); 
     mySqlConnection = new MySql.Data.MySqlClient.MySqlConnection(connString); 
     cmd = new MySql.Data.MySqlClient.MySqlCommand(); 

     cmd.CommandText = "SELECT 'name' FROM 'CustomerDb' WHERE 'id' = 0"; 
     cmd.CommandType = CommandType.Text; 
     cmd.Connection = mySqlConnection; 

     mySqlConnection.Open(); 
     SqlDataReader reader = cmd.ExecuteReader(); 
     mySqlConnection.Close(); 
     return reader; 
    } 

私はは非常にC#で経験していないので、イムは正しいことをやっている場合かわかりませんよ。しかし、私のcmd.ExecuteReaderに()(私はそれがあると思いオブジェクト?!??!)私はそれ

が暗黙的 「System.Data.SqlClientのに型 'MySql.Data.MySqlDataReader' を変換することはできませんことを取得します。 SqlDataReader '

ここで何が間違っていますか?明らかに私の戻り値はどちらも正しいわけではありません。私のメソッドを 'string'に指定しました。しかし、文字列に入力しても、エラーは消えませんか?

答えて

-1
MySqlDataReader Reader = cmd.ExecuteReader(); 

この行を使用してください。

+0

ありがとうございました!どのように文字列を返すのですか? –

+0

文字列strValue = Reader [0] .ToString(); –

+0

レコードが1つしか得られないと確信できる場合は、ExecuteReaderの代わりにExecuteScalarを使用してください。 –

関連する問題