Avatar billede freesoft Praktikant
27. marts 2007 - 08:54 Der er 7 kommentarer og
4 løsninger

INSERT INTO query bliver ikke udført

Hej igen igen :)

Min INSERT INTO query bliver ikke udført, og jeg får ingen fejl.

Programmet ser sådan her ud:
I toppen, så alle kan bruge dem:

public static string dbSti = "J:\\sti\\til\\DB.mdb";
public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbSti);

For min "Ny" knap:
con.Open();
string insertQuery = "INSERT INTO pandaKunder (firmanavn, buydate, licenser, licenseYear, licensStart, licensSlut, pandaProdukt, klientNo, [user], [password], [mail]) VALUES ('" + newFirma + "', #" + newDateBuy + "#, '" + newLicensNo + "', '" + newLicensYear + "', #" + newDateLicensStart + "#, #" + newDateLicensSlut + "#, " + newPandaProdukt + ", '" + newClientNo + "', '" + newUser + "', '" + newPassword + "', '" + newMail + "')";

OleDbCommand cmd = new OleDbCommand(insertQuery, con);
OleDbDataReader rdr = cmd.ExecuteReader();
con.Close();

Virker det ikke det jeg er ved at prøve?

Findes der en anden måde at lave queries på? Nu har jeg ikke leget meget med ASP.NET, men ved der findes noget rs.update. Er der ikke en mere simpel måde at lave queries på i C#?

Mvh. Kim / FreeSoft
Avatar billede medions Nybegynder
27. marts 2007 - 09:11 #1
Du skal bruge cmd.ExecuteNonQuery()

//>Rune
Avatar billede medions Nybegynder
27. marts 2007 - 09:12 #2
Avatar billede freesoft Praktikant
03. april 2007 - 22:34 #3
Vender lige tilbage efter påske...
Avatar billede freesoft Praktikant
13. april 2007 - 10:23 #4
Nu udføre den fint det, men der bliver ikke skrevet noget i databasen, jeg får ingen fejl.
Avatar billede kalp Novice
13. april 2007 - 11:21 #5
Det ikke meningen man skal gøre sådan her.
OleDbCommand cmd = new OleDbCommand(insertQuery, con);
OleDbDataReader rdr = cmd.ExecuteNonQuery();

men sådan her

OleDbCommand cmd = new OleDbCommand(insertQuery, con);
cmd.ExecuteNonQuery();
Avatar billede kalp Novice
13. april 2007 - 11:21 #6
du har måske smidt det i en try catch block siden den ikke fejlede der?
Avatar billede freesoft Praktikant
13. april 2007 - 11:58 #7
kalp
Sådan har jeg også lavet det efter medions forslag.
Nej det er ikke i en try catch endnu.
Avatar billede freesoft Praktikant
13. april 2007 - 12:01 #8
"NY" koden ser sådan ud:
string newFirma = textBoxFirma.Text;
string newDateBuy = dateFormatter(dateBuy.Value.ToString());
string newLicensNo = textBoxLicensNo.Text;
string newLicensYear = textBoxLicensYear.Text;
string newDateLicensStart = dateFormatter(dateLicensStart.Value.ToString());
string newDateLicensSlut = dateFormatter(dateLicensSlut.Value.ToString());
int newPandaProdukt = comboBoxPandaProdukt.SelectedIndex++;
string newClientNo = textBoxClientNo.Text;
string newUser = textBoxUser.Text;
string newPassword = textBoxPassword.Text;
string newMail = textBoxMail.Text;

con.Open();
string insertQuery = "INSERT INTO pandaKunder (firmanavn, buydate, licenser, licenseYear, licensStart, licensSlut, pandaProdukt, klientNo, [user], [password], [mail]) VALUES ('" + newFirma + "', #" + newDateBuy + "#, '" + newLicensNo + "', '" + newLicensYear + "', #" + newDateLicensStart + "#, #" + newDateLicensSlut + "#, " + newPandaProdukt + ", '" + newClientNo + "', '" + newUser + "', '" + newPassword + "', '" + newMail + "')";
OleDbCommand cmd = new OleDbCommand(insertQuery, con);
cmd.ExecuteNonQuery();

con.Close();
Avatar billede target Nybegynder
13. april 2007 - 12:46 #9
Der er to ting du kan prøve i forbindelse med din fejlsøgning.
Det første er, lige at tjekke hvor mange rows der bliver affected af din ExecuteNonQuery(). antallet bliver returneret af metoden.
Det andet er, at tage værdien af din insertQuery og smide denne insert-string direkte mod databasen, vha. af et database værktøj (ved ikke hvilken database du anvender)
Avatar billede freesoft Praktikant
21. maj 2007 - 18:03 #10
For ikke kigget på det her lige med det samme, det har jo trukket meget ud :-)
Så vil lukke.

target læg et svar så kan du få lidt point.
Avatar billede target Nybegynder
21. maj 2007 - 18:41 #11
Svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester