Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Problema con Update
giovedì 28 luglio 2005 - 11.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
pirand
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 lug 2005 - 11:37
Ciao a tutti,
durante la fase di update mi restituisce il seguente errore:
"System.Data.OleDb.OleDbException: Sintassi non corretta in prossimità della parola chiave 'DEFAULT'."
Qualcuno di voi si è mai imbattuto in questo errore, sicuramente sarà una cosa banalissima ma ho controllato tutto il codice e sembra essere corretto.
Grazie mille
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 28 lug 2005 - 11:48
Manca la Query però che stai eseguendo. Se non la posti è difficile capire dove sta l'errore. Se è più di una query posta il blocco di codice.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
pirand
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 lug 2005 - 11:52
scusatemi non ci avevo pensato:
private void tblCSM_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int RigaModifica = tblCSM.EditItemIndex;
//Chiave Primaria
fciSqlUpdate.Parameters["Original_AM_DATAI"].Value = e.Item.Cells[1].Text;
fciSqlUpdate.Parameters["Original_AM_TIME"].Value = e.Item.Cells[2].Text;
fciSqlUpdate.Parameters["Original_AM_TASK"].Value = e.Item.Cells[3].Text;
//dati
TextBox tbxCODOPE = (TextBox) e.Item.FindControl("dfxCODOPE");
TextBox tbxCAUSALE = (TextBox) e.Item.FindControl("dfxCAUSALE");
TextBox tbxCONTODARE = (TextBox) e.Item.FindControl("dfxCONTOD");
TextBox tbxCONTOAVERE = (TextBox) e.Item.FindControl("dfxCONTOA");
fciSqlUpdate.Parameters["AM_CODOPE"].Value = tbxCODOPE.Text;
fciSqlUpdate.Parameters["AM_CAUSALE"].Value = tbxCAUSALE.Text;
fciSqlUpdate.Parameters["AM_CONTO"].Value = tbxCONTODARE.Text;
fciSqlUpdate.Parameters["AM_CODCONT"].Value = tbxCONTOAVERE.Text;
DaCsmRiapConti.Fill(dsCSM1, "PNRIAPE");
dsCSM1.PNRIAPE[tblCSM.EditItemIndex].CODOPE = tbxCODOPE.Text;
dsCSM1.PNRIAPE[tblCSM.EditItemIndex].CAUSALE = tbxCAUSALE.Text;
dsCSM1.PNRIAPE[tblCSM.EditItemIndex].CONTOD = tbxCONTODARE.Text;
dsCSM1.PNRIAPE[tblCSM.EditItemIndex].CONTOA = tbxCONTOAVERE.Text;
DaCsmRiapConti.Update(dsCSM1, "PNRIAPE");
dsCSM1.PNRIAPE.AcceptChanges();
tblCSM.EditItemIndex = -1;
tblCSM.DataBind();
}
la query di update risiede nel dataadapter ed è la seguente:
fciSqlUpdate
"
UPDATE PNRIAPE SET AM_CODOPE = ?, AM_CAUSALE = ?, AM_CONTO = ?, AM_CODCONT = ? WHERE (AM_DATAI = ?) AND (AM_TIME = ?) AND (AM_TASK = ?)
"
Grazie mille
Pirand
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 28 lug 2005 - 12:06
Stai utilizzando Access ?
I valori presenti nelle Textbox che tipo di valori sono. Hai provato a cambiare valori ? per capire se è un problema di dati o di procedura.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
pirand
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 lug 2005 - 12:09
Utilizzo Sql server.
Se faccio l'analisi dell'istruzione "DaCsmRiapConti.Update(dsCSM1, "PNRIAPE")" mi dice:"errore: argomenti non corrispondenti ai parametri accettati dalla funzione "DaCsmRiapConti.Update""
i parametri però sono corretti, l'unica cosa è che i primi due sono in formato data.
devo convertirli o ci pensa lui?
Grazie
Pirand
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 28 lug 2005 - 12:11
Perchè stai utilizzando OleDbConnection allora invece del SqlConnection che è ottimizzato per SQL Server ?
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
pirand
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 lug 2005 - 12:17
Sto implementando un programma già fatto, potrebbe essere quello il problema??
Ora provo a cambiare la connessione
Pirand
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 28 lug 2005 - 12:44
No, ma è strano che utilizzi quegli oggetti generici nel programma o cmq. chi l'ha scritto prima di te. Se si usa SQL di solito si usa la SqlConnection.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
pirand
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 lug 2005 - 14:30
Grazie mille, ho risolto il tutto ed è diventato anche più veloce nell'estrazione.
Ho riscritto il codice e ricreato le connessioni ora funziona:
"
private void tblCSM_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int RigaModifica = tblCSM.EditItemIndex;
//Leggo i vaolori modificati
TextBox tbxCODOPE = (TextBox) e.Item.Cells[4].Controls[0];
TextBox tbxCAUSALE = (TextBox) e.Item.Cells[5].Controls[0];
TextBox tbxCONTODARE = (TextBox) e.Item.Cells[6].Controls[0];
TextBox tbxCONTOAVERE = (TextBox) e.Item.Cells[7].Controls[0];
//Preparo il dataset con i dati
DaCsmRiapConti.Fill(dsCSM1, "PNRIAPE");
dsCSM.PNRIAPERow Riga;
string key = tblCSM.DataKeys[RigaModifica].ToString();
//Istanzio la riga sulla quale apportare le modifiche
Riga = dsCSM1.PNRIAPE.FindBynum_id(int.Parse(key));
string Codope = tbxCODOPE.Text;
string Causale = tbxCAUSALE.Text;
string ContoDare = tbxCONTODARE.Text;
string ContoAvere = tbxCONTOAVERE.Text;
//Imposto i nuovi valori
Riga.CODOPE = Codope;
Riga.CAUSALE = Causale;
Riga.CONTOD = ContoDare;
Riga.CONTOA = ContoAvere;
//Aggiorno il database
DaCsmRiapConti.Update(dsCSM1, "PNRIAPE");
dsCSM1.PNRIAPE.AcceptChanges();
tblCSM.EditItemIndex = -1;
tblCSM.DataBind();
}
"
grazie ancora
Pirand
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !