PDA

View Full Version : OLEDB: errore query insert...


Napalm
08-11-2004, 21:13
OleDbConnection cn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Programmi\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb;Persist Security Info=False");
cn.Open();
OleDbCommand cmd=cn.CreateCommand();
cmd.CommandText="INSERT INTO Utenti (username,password,Nome,Cognome) VALUES (@usr,@pwd,@uname,@lastname)";
cmd.Parameters.Add("@usr",TextBox1.Text);
cmd.Parameters.Add("@pwd",TextBox2.Text);
cmd.Parameters.Add("@name",TextBox3.Text);
cmd.Parameters.Add("@lastname",TextBox4.Text);
cmd.ExecuteNonQuery();
cn.Close();


Risultato:

Errore di sintassi nell'istruzione INSERT INTO


[OleDbException (0x80040e14): Errore di sintassi nell'istruzione INSERT INTO.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +122
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +67
DefaultNamespace.reg.ok(Object sender, EventArgs e) +278
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +83
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277



Ho provato a fare la query direttamente in access e funziona, query di tipo select funzionano perfettamente.. query di modifica inserimento eliminazione no.. dove può stare il problema?

NapalM

cionci
08-11-2004, 21:54
Mancano gli apici:

VALUES ('@usr','@pwd','@uname','@lastname')"

Quando si fanno le query è buona norma stampare la query prima di eseguirla...in questo modo puoi verificare meglio la correttezza...

Napalm
08-11-2004, 22:09
Adesso la query è così ma il risultato è lo stesso.. stesso errore...

"INSERT INTO Utenti (username,password,Nome,Cognome) VALUES ('@usr','@pwd','@name','@lastname')"


NapalM

cionci
08-11-2004, 22:13
Te l'ho detto...stampa la query già valorizzata a schermo o in un file di testo e dopo verificane la correttezza all'interno del DBMS...

Napalm
08-11-2004, 22:22
Originariamente inviato da cionci
Te l'ho detto...stampa la query già valorizzata a schermo o in un file di testo e dopo verificane la correttezza all'interno del DBMS...

Se ti dico che non saprei come fare ti incazzi?!?!? :)

NapalM

SteR9
09-11-2004, 08:04
Originariamente inviato da Napalm
Se ti dico che non saprei come fare ti incazzi?!?!? :)

NapalM
è vb?potresti per esempio stamparla in un msgbox..
ciao :)

Napalm
09-11-2004, 18:07
No, purtroppo (?) è c# con oledb.. i npratica ho una pagina di login che controlla in db e qua la selct funge ma quando clicco su registra mi si apre il form compilo il form dò oky mi dà l'errore sopra citato... boh....

NapalM

Napalm
09-11-2004, 20:21
Risoluzione dopo ore e ore di studio.... password andava fra [ ]..ora funziona.

NapalM

cionci
10-11-2004, 09:16
Strano...hai una password ocn uno spazio ?

Napalm
10-11-2004, 12:35
Originariamente inviato da cionci
Strano...hai una password ocn uno spazio ?

no.. campo normale (criptato) e pass inserita normalmente.

NapalM