2016-10-15 12 views
0

Ich habe eine mySql-Datenbank auf einem Server eingerichtet, und jetzt möchte ich sie erreichen, damit ich einen Webservice erstellen kann. Zuerst möchte ich nur testen, ob ich eine Entity aus meiner Abfrage in meiner Methode (OneEntity) abrufen und in meine Liste aufnehmen kann.ExecuteReader() Objekt kann nicht konvertiert werden

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

Ich bin nicht erfahren sehr in C# und sind daher nicht sicher, ob es richtig im tut. Doch in meinem cmd.ExecuteReader() (Object Ich denke, es ist?! ??!) Ich bekomme, dass es

kann nicht implizit Typ 'MySql.Data.MySqlDataReader' zu ‚System.Data.SqlClient konvertieren. SqlDataReader '

Was mache ich hier falsch ?? Offensichtlich ist meine Rückgabe auch nicht korrekt, da ich meine Methode als "String" angegeben habe. Aber obwohl ich eine Zeichenfolge eintippe, verschwindet der Fehler nicht?

Antwort

-1
MySqlDataReader Reader = cmd.ExecuteReader(); 

Verwenden Sie diese Zeile.

+0

Vielen Dank! Wie kann ich dann einen String zurückgeben? –

+0

Zeichenfolge strValue = Reader [0] .ToString(); –

+0

Wenn Sie sicher sind, dass Sie nur einen Datensatz erhalten, dann verwenden Sie ExecuteScalar anstelle von ExecuteReader. –

Verwandte Themen