29. december 2005 - 12:39Der er
9 kommentarer og 1 løsning
C# Web service til MySQL using connctor Net
Jeg prøver lige igen med det spørgsmål...
så er jeg igen med problem med c# og MySQL... Det handler om Web service som skal hente data til en MySQL db og tilføj data. Hent virker fint men add virker ikke men det kommer heller ingen fejl. Brugernavn er root, pw = null, db = mydatabase, table = userinfo..
//code [WebMethod] public string GetCustomers(int id) { MySqlConnection con = new MySqlConnection("Database=mydatabase;"+ "Data Source=localhost;User Id=root;Password=''"); con.Open(); MySqlCommand sel = new MySqlCommand("SELECT * FROM userinfo "+ "WHERE 1 AND `id` = "+id, con); MySqlDataReader dReader = sel.ExecuteReader(); CustomerInfo cust; string strOutput = ""; while (dReader.Read()) { for (int i = 0; i < dReader.FieldCount; i++) { strOutput += dReader.GetName(i) + ": " + dReader.GetValue(i).ToString() + "<br>"; } } dReader.Close(); con.Close(); return strOutput; }
[WebMethod] public void AddCustomer(int id, string userName) { MySqlConnection con = new MySqlConnection("Database=mydatabase;"+ "Data Source=localhost;User Id=root;Password=''"); con.Open(); MySqlCommand insert = new MySqlCommand("INSERT INTO `userinfo`"+ "(`id`, `userName`) VALUES ('" + id + "', '" + userName + "')"); con.Close(); }
som sagt så virker GetCustomers methoden fint men AddCustomer kan jeg ikke få til at tilføj data. Er det noget som jeg mangler til MySqlCommand (execute eller noget lignende)..
at man skal kalde ExecuteNonQuery og at Command skal have en Connection er vel "on topic" i C# kategorien
(strenget logisk burde det være i .NET kategorien fordi problem stillingen er præcis den samme i alle .NET sprog, men vi besvarer altså også ANSI SQL spørgsmål i MSSQL kategorien selvom de strengt logisk burde stilles i Database Generelt - hvis spørger viste alt om spørgsmålet så havde han/hun jo sikkert ikke brug for at spørge)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.