Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Errore su parametri durante inserimento in db

    sto inserendo dei valori su un db con dei parametri e quando cerco di eseguire la query mi dice che c'è un errore di sintassi nella stringa insert into.

    Il mio codice è questo:
    codice:
    						string strSQL = "INSERT INTO [utenti] (username, password, gruppo, descrizione, nome) VALUES (@username, @password, '" + txtgruppo.SelectedItem.Value + "', @descrizione, '" + txtnome.Text + "')"; 
    
    						OleDbCommand cmd = new OleDbCommand(strSQL, conn);
    					    
    						// parametri
    					OleDbParameter parameter1 = new OleDbParameter("@username", OleDbType.VarChar);
    					parameter1.Value = Server.HtmlEncode(txtusername.Text);
    					cmd.Parameters.Add(parameter1);
    					    
    					OleDbParameter parameter2 = new OleDbParameter("@password", OleDbType.VarChar);
    					parameter2.Value = Server.HtmlEncode(txtpassword.Text);
    					cmd.Parameters.Add(parameter2);
    
    					OleDbParameter parameter3 = new OleDbParameter("@descrizione", OleDbType.VarChar);
    					parameter3.Value = Server.HtmlEncode(txtdescrizione.Text);
    					cmd.Parameters.Add(parameter3);
    Ho provato a mettere in output strSQL e ci usciva questo:
    codice:
    INSERT INTO [utenti] (username, password, gruppo, descrizione, nome) VALUES (@username, @password, '3', @descrizione, 'fff')
    (sostituendo @username con un nome, @password con una pass ecc... su access tutto andava, quindi suppongo sia un errore di parametri ma non lo trovo!)

    Sonia

  2. #2
    se ti da errore l'inserimento è perchè password è una parola riservata di access
    prova a chiamare il campo "passwd" anzichè "password" e vedi se funziona
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    oppure scrivi
    INSERT INTO [utenti] ([username], [password], [gruppo], [descrizione], [nome]) VALUES (@username, @password, '3', @descrizione, 'fff')

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Tnx! Mi è bastato mettere il nome tbl tra quadre.
    Sonia

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Ho aggiunto il nome come parametro e mi sono accorta che in compilazione tutto ok, ma se nel campo username o nel campo password metto degli apici mi va tutto in crash!

    codice:
    							string strSQL = "INSERT INTO [utenti] ([username], [password], [idgruppopredefinito], [descrizione], [nome]) VALUES (@username, @password, '" + txtgruppo.SelectedItem.Value + "', @descrizione, @nome)"; 
    
    							OleDbCommand cmd = new OleDbCommand(strSQL, conn);
    						    
    							// parametri
    
    							OleDbParameter parameter1 = new OleDbParameter("@username", OleDbType.VarChar);
    							parameter1.Value = Server.HtmlEncode(txtusername.Text);
    							cmd.Parameters.Add(parameter1);
    						    
    							OleDbParameter parameter2 = new OleDbParameter("@password", OleDbType.VarChar);
    							parameter2.Value = Server.HtmlEncode(txtpassword.Text);
    							cmd.Parameters.Add(parameter2);
    
    							OleDbParameter parameter3 = new OleDbParameter("@descrizione", OleDbType.VarChar);
    							parameter3.Value = Server.HtmlEncode(txtdescrizione.Text);
    							cmd.Parameters.Add(parameter3);
    
    							OleDbParameter parameter4 = new OleDbParameter("@nome", OleDbType.VarChar);
    							parameter4.Value = Server.HtmlEncode(txtnome.Text);
    							cmd.Parameters.Add(parameter4);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.