07. november 2006 - 08:35
Der er
8 kommentarer
Mysql bruger Corelab mysql development tools men
Hej jeg er igang med at lave et program i c# (i visual studio 2005) jeg har installeret Corelab mysql development tools og lavet en forbindelse til databasen mit problem er at jeg ønsker at smide fler eend en ting over i databasen. jeg har 5 textboxe, hvor dataen som indtastes i dem skal over i database. troede jeg kunne gøre det sådan her:
kommando = "INSERT INTO sommerhus(hus) VALUES('" + textBox6.Text + "')";
kommando = "INSERT INTO sommerhus(Lejeperiode) VALUES('" + textBox4.Text + "')";
men så det kun den nederste der bliver tilføjet i datasen. hvordan får jeg flere textboxe sat ind på samme linie ? =) håber nogen kan hjælpe
07. november 2006 - 09:43
#2
Her er hvordan det kan gøres. Det er noget gammel kode jeg havde, men her bliver der oprettet en bruger, som bliver gemt i en mysql database. Hvor dataerne kommer fra textboxe...
private void updateDB()//Metode der opdatere databasen med en ny bruger
{
//Laver Forbindelse til databasen
MySql.Data.MySqlClient.MySqlConnection Connect;
MySql.Data.MySqlClient.MySqlCommand Command;
Connect = new MySql.Data.MySqlClient.MySqlConnection();
Command = new MySql.Data.MySqlClient.MySqlCommand();
Connect.ConnectionString = MyConnection;
try
{
Connect.Open();//Åbner forbindelse til databasen
Command.Connection = Connect;
Command.CommandText = "INSERT INTO bruger" +
"(First_Name, Last_Name, Adresse, Postnr, City, Birth, Stilling, Tlf, Mobil, Email) VALUES" +
"(?fornavn, ?efternavn, ?adresse, ?postnr, ?by, ?fødselsdato, ?stilling, ?tlf, ?mobil, ?email)";
Command.Prepare();
int postnr = int.Parse(this.txtBox_Postnr.Text);
int fødsel = int.Parse(this.txtBox_Fødselsdag.Text);
int tlf = int.Parse(this.txtBox_Tlf.Text);
int mobil = int.Parse(this.txtBox_Mobil.Text);
Command.Parameters.Add("?fornavn", "" + this.txtBox_Fornavn.Text + "");
Command.Parameters.Add("?efternavn", "" + this.txtBox_Efternavn.Text + "");
Command.Parameters.Add("?adresse", "" + this.txtBox_Adresse.Text + "");
Command.Parameters.Add("?postnr", "" + postnr + "");
Command.Parameters.Add("?by", "" + this.txtBox_By.Text + "");
Command.Parameters.Add("?fødselsdato", "" + fødsel + "");
Command.Parameters.Add("?stilling", "" + this.txtBox_Stilling.Text + "");
Command.Parameters.Add("?tlf", "" + tlf + "");
Command.Parameters.Add("?mobil", "" + mobil + "");
Command.Parameters.Add("?email", "" + this.txtBox_Email.Text + "");
Command.ExecuteNonQuery();//Sender nye bruger data til databasen
Connect.Close();//Lukker forbindelsen til databasen
//Sørgere for ikke og lukke formen, hvis der skal indtastes flere brugere
if(user == false)
{
Close();
}
//Nulstiller textboxene, hvis der skal indtastes flere brugere
this.txtBox_Fornavn.Text = "";
this.txtBox_Efternavn.Text = "";
this.txtBox_Adresse.Text = "";
this.txtBox_Postnr.Text = "";
this.txtBox_By.Text = "";
this.txtBox_Fødselsdag.Text = "";
this.txtBox_Stilling.Text = "";
this.txtBox_Tlf.Text = "";
this.txtBox_Mobil.Text = "";
this.txtBox_Email.Text = "";
}
catch(Exception ex)
{
//Skriver fejlen til \log\fejl.log
StreamWriter Stream = new StreamWriter(@"log\fejl.log", true, Encoding.Default);
Stream.Write(ex.Message);
Stream.WriteLine("\t" + DateTime.Now + "");// Skriver dato og tid på fejlen
Stream.Close();
MessageBox.Show("Der opstod en fejl, da der skulle sendes data til databasen" +
"\nFejlen er blevet beskrevet i \\log\\fejl.log",
"Database Fejl",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
Close();
}
#endregion
}
07. november 2006 - 10:10
#6
Nå okay:) Så sørg for at bruge Mysql connector i stedet for en odbc forbindelse. Men du må da endelig komme med nogen spørgsmål, hvis jeg kan hjælpe. Jeg har brugt mysql rigtigt meget sammen med .net
07. november 2006 - 10:20
#8
Ja jeg tror sgu det ender med vi tager derop at kigger:) Hehe. Hvad med dig?? Du kan bare tilføje mig på msn, hvis du har lyst. Det er noget nemmere at spørge over messenger, hvis du får andre problemer. Min adr er alex_sleiborg@hotmail.com