sommy Skrevet 27. mai 2009 Del Skrevet 27. mai 2009 eg klarer og connecte helt fint til databasen me denne koden private void cmdTestConnection_Click(object sender, EventArgs e) { this.Host = txtHost.Text; this.User = txtUser.Text; this.Pass = txtPass.Text; MySqlConnection MyCon = new MySqlConnection("server=" + this.Host + "; user id=" + this.User + "; password=" + this.Pass + "; pooling=false;"); try { MyCon.Open(); MessageBox.Show("MySQL Connection Succeeded", "Success"); } catch (MySqlException ex) { MessageBox.Show("MySQL Connection Failed! " + ex.Message, "Error"); } Men når eg pørver og kjøre en INSERT query får eg ikke skrevet over ne til Tablen, Tabel: User har bare 2 rows, ID og usernavn,,, noen som har jobba my me dette som kan forklare hva som er feil? private void button1_Click(object sender,System.EventArgs e) { //Server = myServerAddress; Database = myDataBase; Uid = myUsername; Pwd = myPassword; MySqlConnection MyCon = new MySqlConnection("server=***.***.**.***; Database = box_test; user id=NOC; password=******; pooling=false;"); MyCon.Open(); MySqlCommand command = new MySqlCommand("INSERT INTO User ('username') VALUE ('test2')", MyCon); MyCon.Close(); } Lenke til kommentar
sommy Skrevet 27. mai 2009 Forfatter Del Skrevet 27. mai 2009 løste dette med, men forstår fortsatt ikke hvorfor den førte failet vist noen kan utdype. private void button1_Click(object sender, EventArgs e) { MySql.Data.MySqlClient.MySqlConnection conn; MySql.Data.MySqlClient.MySqlCommand cmd; conn = new MySql.Data.MySqlClient.MySqlConnection(); cmd = new MySql.Data.MySqlClient.MySqlCommand(); conn.ConnectionString = "Server=**;Uid=NOC;Pwd=**;Database=x_test;"; try { conn.Open(); cmd.Connection = conn; cmd.CommandText = "INSERT INTO Bruker(brukernavn) VALUE ('" + textBox1.Text +"')"; cmd.ExecuteNonQuery(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Lenke til kommentar
Glenn F. Henriksen Skrevet 27. mai 2009 Del Skrevet 27. mai 2009 Helt umulig å si noe om det før du poster hele feilmeldingen du fikk. Bra at du tok med koden din men når du vil ha hjelp til noe kode som ikke fungerer er du nødt til å legge ved feilmeldingen din og. Ellers blir det mye vanskeligere å hjelpe deg. Lenke til kommentar
GeirGrusom Skrevet 27. mai 2009 Del Skrevet 27. mai 2009 Først og fremst anbefaler jeg å bruke interfaces istedet for å bruke klassene direkte. Dette sparer deg for mye jobb hvis du skal bytte databasemotor i fremtiden (hvis helt teoretisk sett Oracle slutter med MySQL) IDbConnection conn = new MySQLConnection(etc.); using(var cmd = conn.CreateCommand()) { cmd.CommandText = "DROP DATABASE *"; cmd.ExecuteNonQuery(); } Lenke til kommentar
sommy Skrevet 2. juni 2009 Forfatter Del Skrevet 2. juni 2009 Helt umulig å si noe om det før du poster hele feilmeldingen du fikk. Bra at du tok med koden din men når du vil ha hjelp til noe kode som ikke fungerer er du nødt til å legge ved feilmeldingen din og. Ellers blir det mye vanskeligere å hjelpe deg. fikk aldi noen feilmelding, det var det som var problemet, men fant ut ka eg gjore feil eg glemte ExecuteNonQuery(); Lenke til kommentar
grimsqueak Skrevet 7. juni 2009 Del Skrevet 7. juni 2009 (endret) Såvidt jeg kan se, så feilet den første (uten feilmelding) pga at du aldri kalte command.ExecuteNonQuery(); Såfremt du ikke kaller ExecuteQuery (for spørringer) eller ExecuteNonQuery (for INSERT, UPDATE, DELETE) så vil ikke noe kall mot databasen bli utført. /ronny [Edit:] Doh, fatter ikke at jeg ikke så den siste posten Endret 7. juni 2009 av [ronny] Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå