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
App. WinForms / WPF .NET
Errore di sintassi nell'istruzione INSERT TO
mercoledì 28 novembre 2007 - 08.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
donatokolas
Profilo
| Junior Member
87
messaggi | Data Invio:
mer 28 nov 2007 - 08:26
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
1.095
messaggi | Data Invio:
mer 28 nov 2007 - 17:33
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
87
messaggi | Data Invio:
gio 29 nov 2007 - 07:10
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
1.095
messaggi | Data Invio:
ven 30 nov 2007 - 09:47
>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
46
messaggi | Data Invio:
ven 30 nov 2007 - 10:16
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
1.095
messaggi | Data Invio:
ven 30 nov 2007 - 11:02
>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
87
messaggi | Data Invio:
ven 30 nov 2007 - 11:29
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
1.095
messaggi | Data Invio:
ven 30 nov 2007 - 14:25
>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
46
messaggi | Data Invio:
ven 30 nov 2007 - 19:00
>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
1.095
messaggi | Data Invio:
ven 30 nov 2007 - 21:44
>
>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
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 !