jag försöker göra en jätte enkel grej här men blir helt knäpp snart. Om detta nu är en kopia från din kod ser jag i alla fall ett stavfel (@kontatkaNamn/@kontaktaNamn), samt att slut parantes saknas efter parametrarna. Du behöver inte öppna din koppling för än precis innan du behöver den. Den reviderade koden finns nedan: Ahh.. lite fel kan det bli ibland. har ändrat de fel jag hittade och de som du hade skrivit. Dock får jag ett nytt problem. Felkoden säger så här: "Operationen måste använda en fråga som kan uppdateras." Det handlar enbart om rättigheterna. Om du kör lokalt kolla där du har din databas om du har lagt till IUSR som användare. Fungerar det verkligen att blanda Microsoft.Jet.OLEDB.4.0 med c# lägga till i en access databas.
Håller på och lär mig C# och tycker att det är väldigt svårt att hitta riktigt bra sidor på nätet som visar bra exempel. Har ni några bra sidor får ni gärna skicka dem. =)
Nu till mitt problem.
med hjälp av denna kod vill jag lägga till dessa fyra fält i min access databas. Värderna hämtas från textboxar från en hemsida som heter enligt de nedan. När jag kör koden får jag "Syntaxfel i INSERT INTO-uttryck"
Hur ska jag skriva för att det ska funka?
OleDbConnection myConn = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(@"\mallsida\databas\mallsida.mdb"));
myConn.Open();
OleDbCommand myCmd = new OleDbCommand (@"INSERT INTO Kontakta (Meddelande, Namn, Email, Mobil) VALUES (@kontaktaMeddelande, @kontatkaNamn, @kontaktaEmail, @kontaktaMobil",myConn);
myCmd.Parameters.Add("@kontaktaMeddelande", System.Data.SqlDbType.VarChar).Value = tb_Meddelande.Text;
myCmd.Parameters.Add("@kontaktaNamn", System.Data.SqlDbType.VarChar).Value = tb_Namn.Text;
myCmd.Parameters.Add("@kontaktaEmail", System.Data.SqlDbType.VarChar).Value = tb_Email.Text;
myCmd.Parameters.Add("@kontaktaMobil", System.Data.SqlDbType.VarChar).Value = tb_Mobil.Text;
myCmd.ExecuteNonQuery();
myConn.Close();Sv: c# lägga till i en access databas.
OleDbConnection myConn = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(@"\mallsida\databas\mallsida.mdb"));
OleDbCommand myCmd = new OleDbCommand (@"INSERT INTO Kontakta (Meddelande, Namn, Email, +
Mobil) VALUES (@kontaktaMeddelande, @kontaktaNamn, @kontaktaEmail, @kontaktaMobil)", myConn);
myCmd.Parameters.Add("@kontaktaMeddelande", System.Data.SqlDbType.VarChar).Value = tb_Meddelande.Text;
myCmd.Parameters.Add("@kontaktaNamn", System.Data.SqlDbType.VarChar).Value = tb_Namn.Text;
myCmd.Parameters.Add("@kontaktaEmail", System.Data.SqlDbType.VarChar).Value = tb_Email.Text;
myCmd.Parameters.Add("@kontaktaMobil", System.Data.SqlDbType.VarChar).Value = tb_Mobil.Text;
myConn.Open();
myCmd.ExecuteNonQuery();
myConn.Close();
Sv: c# lägga till i en access databas.
Hur skulle ni skriva för att uppdatera?
OleDbConnection myConn = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(@"\mallsida\databas\mallsida.mdb"));
OleDbCommand myCmd = new OleDbCommand (@"Insert Into Kontakta(Meddelande, Namn, Email, Mobil) VALUES(@kontaktaMeddelande, @kontaktaNamn, @kontaktaEmail, @kontaktaMobil)",myConn);
myCmd.Parameters.Add("@kontaktaMeddelande", System.Data.SqlDbType.VarChar).Value = tb_Meddelande.Text;
myCmd.Parameters.Add("@kontaktaNamn", System.Data.SqlDbType.VarChar).Value = tb_Namn.Text;
myCmd.Parameters.Add("@kontaktaEmail", System.Data.SqlDbType.VarChar).Value = tb_Email.Text;
myCmd.Parameters.Add("@kontaktaMobil", System.Data.SqlDbType.VarChar).Value = tb_Mobil.Text;
myConn.Open();
myCmd.ExecuteNonQuery();
myConn.Close();
Sv: c# lägga till i en access databas.
Sv: c# lägga till i en access databas.
("@kontaktaMeddelande", System.Data.SqlDbType.VarChar).Value = tb_Meddelande.Text;
myCmd.Parameters.Add
Ska det inte vara "System.Data.IleDbType.VarChar"
Gert