Errore di sintassi nell'istruzione INSERT TO

mercoledì 28 novembre 2007 - 08.26

donatokolas Profilo | Junior Member

Ciao ragazzi,
sapete dirmi perchè il seguente codice mi da sempre l'errore : errore di sintassi nell' istruzione INSERT TO?

P.S. posto sia il codice che lo screenshot della tabella del database che tento di aggiornare

Spero possiate aiutarmi.
private void AggiornaDB()
{

m_cnADONewConnection.ConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Sotek.mdb";

// Tabella posizioni

m_daDataAdapter = new OleDbDataAdapter(
"Select * from posizioni", m_cnADONewConnection);
OleDbCommandBuilder m_cbCommandBuilder =
new OleDbCommandBuilder(m_daDataAdapter);
m_daDataAdapter.Fill(m_preventivi);
DataRow Nuova_posizione = m_preventivi.NewRow();
Nuova_posizione["id_pos"] = id_pos;
Nuova_posizione["chiave_est"] = chiave_esterna;
Nuova_posizione["num_posizione"] = nuovo_num_pos(); // nuovo valore per la chiave della tabella
Nuova_posizione["q_tà"] = quantità;
Nuova_posizione["categoria"] = categ;
Nuova_posizione["cod_preventivo"] = CD;
Nuova_posizione["tipologia"] = comboBox1.Text;
Nuova_posizione["serie"] = serie;
Nuova_posizione["l"] = l;
Nuova_posizione["h"] = h;
Nuova_posizione["apertura"] = apertura;
Nuova_posizione["num_ante"] = numero_ante;
Nuova_posizione["tipo_col_all"] = colore_all;
Nuova_posizione["tipo_legno"] = tipo_legno;
Nuova_posizione["col_all"] = colore_all;
Nuova_posizione["col_legno"] = colore_legno;
Nuova_posizione["col_mecc"] = meccanismo;
Nuova_posizione["man_cern"] = man_cern;
Nuova_posizione["martelline"] = martelline;
Nuova_posizione["vetro"] = vetro;
Nuova_posizione["accessori"] = accessori;
Nuova_posizione["tipo_lamelle"] = tipo_lamelle;
Nuova_posizione["tipo_mecc"] = tipo_mecc;
Nuova_posizione["tipo_legn_listelllo"] = listello;
Nuova_posizione["colore_listello"] = colore_listello;
Nuova_posizione["varianti"] = variante;
Nuova_posizione["doghe"] = doghe;
Nuova_posizione["totale_parziale"] = Tot_p;
Nuova_posizione["prezzo_unitario"] = this.prezzo_unitario;
m_preventivi.Rows.Add(Nuova_posizione);
m_daDataAdapter.Update(m_preventivi);
m_rowPosition = m_preventivi.Rows.Count - 1;
m_cnADONewConnection.Close();


1024x768 420Kb

SSUPERPIPPO Profilo | Guru

Ciao

> m_daDataAdapter = new OleDbDataAdapter(
>"Select * from posizioni", m_cnADONewConnection);
> OleDbCommandBuilder m_cbCommandBuilder =
> new OleDbCommandBuilder(m_daDataAdapter);
> m_daDataAdapter.Fill(m_preventivi);

vado a memoria, credo che tu debba prima richiamare il metodo Fill del DataAdapter e poi istanziare il CommandBuilder, diversamente non credo sia in grado di creare l'update command correttamente.

Prova e fammi sapere,
Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

donatokolas Profilo | Junior Member

Ciao Alessandro,
grazie innanzitutto per la risposta.

E' successa una cosa strana : la tabella che vado ad aggiornare , come avrai notato contiene molti campi ; poichè prima ne conteneva di meno e con lo stesso codice riuscivo ad aggiornarla,ho provato (senza nessuna logica a parer mio) ad eliminare 2 campi della tabella ed ecco che per magia non mi dava più l'errore. Ma la cosa ancor più strana (...il mistero si infittisce....) è che riaggiungendo tali campi alla tabella (operazioni che facevo direttamente da access) l'errore non me lo dava lo stesso e ti assicuro che non ho fatto alcuna modifica al codice.

Come mai?? ......Credo che tra un po' comincerò a vedere i fantasmi

SSUPERPIPPO Profilo | Guru

>Ciao Alessandro,
>grazie innanzitutto per la risposta.

Ciao, di nulla

>
>E' successa una cosa strana : la tabella che vado ad aggiornare
>, come avrai notato contiene molti campi ; poichè prima ne conteneva
>di meno e con lo stesso codice riuscivo ad aggiornarla,ho provato
>(senza nessuna logica a parer mio) ad eliminare 2 campi della
>tabella ed ecco che per magia non mi dava più l'errore. Ma la
>cosa ancor più strana (...il mistero si infittisce....) è che
>riaggiungendo tali campi alla tabella (operazioni che facevo
>direttamente da access) l'errore non me lo dava lo stesso e ti
>assicuro che non ho fatto alcuna modifica al codice.
>
>Come mai?? ......Credo che tra un po' comincerò a vedere i fantasmi

Messa così sinceramente fa pensare anche a me ai fantasmi...

... ma siccome non credo ai fantasmi la spiegazione ci sarà sicuramente, difficile capirlo dai pochi dati a dispisizione, bisognerebbe fare una simulazione esatta delle operazioni che hai eseguito per rintracciare l'errore... comunque l'importante è che ora funzioni!

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

the_follet Profilo | Newbie

Ciao,
non vorrei dire una sciocchezza, ma probabilmente hai usato un nome "riservato" per uno (o entrambi) i campi.
Per esempio, dopo aver a lungo sbattuto la testa contro il muro, ho imparato che non è possibile avere un campo denominato "Note"...
Se provi a cambiare nome e il programma funziona allora è quello
Saluti,
Luca


EDIT: rileggendo più attentamente i post mi sono reso conto che probabilmente quello che ho scritto non c'entra niente...

SSUPERPIPPO Profilo | Guru

>Ciao,
>non vorrei dire una sciocchezza, ma probabilmente hai usato un
>nome "riservato" per uno (o entrambi) i campi.
>Per esempio, dopo aver a lungo sbattuto la testa contro il muro,
>ho imparato che non è possibile avere un campo denominato "Note"...

E chi l'ha detto che un campo non può chiamarsi "Note"???
Quasi tutte le tabelle dei database di mia creazione hanno un campo denominato "Note" e non ho mai avuto alcun problema !
Che problemi hai riscontrato tu con questo campo?!?...

http://blogs.dotnethell.it/alebadalin

donatokolas Profilo | Junior Member

No non credo anche perchè non ho nessun campo chiamato "Note" nella mia tabella

Comunque ringrazio molto SSUPERPIPPO per la disponibilità e per la pazienza.....con me ce ne vuole tanta

SSUPERPIPPO Profilo | Guru

>No non credo anche perchè non ho nessun campo chiamato "Note"
>nella mia tabella
>
>Comunque ringrazio molto SSUPERPIPPO per la disponibilità e per
>la pazienza.....con me ce ne vuole tanta

E' sempre un piacere confrontarsi con i problemi degli altri, non si finisce mai di imparare...

Ciao, alla prossima

Alessandro


http://blogs.dotnethell.it/alebadalin

the_follet Profilo | Newbie

>E chi l'ha detto che un campo non può chiamarsi "Note"???
>Quasi tutte le tabelle dei database di mia creazione hanno un
>campo denominato "Note" e non ho mai avuto alcun problema !
>Che problemi hai riscontrato tu con questo campo?!?...
>
>http://blogs.dotnethell.it/alebadalin



Non so che dirti, io di certo ho dovuto rinominare il campo delle tabelle...
Non c'era verso di farlo funzionare con il nome NOTE.
Il messaggio di errore non mi diceva espressamente che stavo usando un nome riservato, ma era molto generico (adesso non lo ricordo, è una cosa accaduta parecchi mesi fa).
Me ne sono accorto quasi per caso che la soluzione consisteva nel rinominare la colonna.

Come DB uso access, forse tu utilizzi altri DB?
Cmq poco importa, fossero tutti questi i problemi legati alla programmazione...
Saluti,
Luca

SSUPERPIPPO Profilo | Guru

>
>Non so che dirti, io di certo ho dovuto rinominare il campo delle
>tabelle...
>Non c'era verso di farlo funzionare con il nome NOTE.
>Il messaggio di errore non mi diceva espressamente che stavo
>usando un nome riservato, ma era molto generico (adesso non lo
>ricordo, è una cosa accaduta parecchi mesi fa).
>Me ne sono accorto quasi per caso che la soluzione consisteva
>nel rinominare la colonna.
>
>Come DB uso access, forse tu utilizzi altri DB?
>Cmq poco importa, fossero tutti questi i problemi legati alla
>programmazione...
>Saluti,
>Luca

Effettivamente io utilizzo prevalentemente SqlServer, è da diversi anni che non uso più database Access ma non mi pare di aver mai avuto di questi problemi... comunque effettivamente non è molto importante, era solo una curiosità.

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5