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
Stringa SQL
mercoledì 09 maggio 2012 - 08.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Windows 7
|
Visual Studio Express
|
Access (.mdb)
olmof
Profilo
| Junior Member
101
messaggi | Data Invio:
mer 9 mag 2012 - 08:08
Hola.
Dovrei inserire un nuovo record in un MDB e per farlo utilizzo queste righe:
cmd = New OleDbCommand(strSql, MyDBMov)
CreaRecord = cmd.ExecuteReader()
dove strSql è la variabile che contiene l'istruzione SQL.
Funziona tutto a patto che l'istruzione non sia troppo lunga, in tal caso mi viene segnalato l'errore:
'Impossibile aggiungere la quantità di dati desiderata. Inserire o incollare meno dati.'
Avete suggerimenti?
Grazie
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mer 9 mag 2012 - 08:33
ciao.
Questo è il tipico errore di Access di quando tenti di inserire in un campo di tipo Testo valori più lunghi della dimensione impostata a database per il campo.
ora le soluzioni sono 2:
1 - Aumenti la dimensione del campo (trovando prima qual è)
2 - Nell'applicazione limiti l'inserimento del valore che ti manda la query in errore
Cristian Barca
olmof
Profilo
| Junior Member
101
messaggi | Data Invio:
mer 9 mag 2012 - 12:12
Intanto grazie per la risposta.
La cosa strana è che se copio la stringa dal programma, apro access 2003 e la eseguo come query funziona benissimo.
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mer 9 mag 2012 - 14:09
Allora è un problema "misto".
ci puoi postare l'intera stringa che invii? (se possibile ovviamente)
Cristian Barca
olmof
Profilo
| Junior Member
101
messaggi | Data Invio:
mer 9 mag 2012 - 20:53
No problem.
Eccola:
INSERT INTO DocuTesta(TipoDoc, Numero, Data, CodNome, NumMag, NumOrd, DatOrd, CondPag, Traspo, DataPart, Porto, Spese, Banca, SpeseInca, AltreSpese, Destina1, Destina2, OraPart, ScontoVal, CodPag, Valuta, Assicurazione, CodBan, SpTrasPerc, NumColli, Destina3, Destina4, Destina5, CodCor, CorrRag, CorrInd, CorrCit, CorrCap, CorrPrv, TotaleImp, TotaleIva, TotalePag, ScontoValore, ScontoPerc, COcassa, COscontovalore, COscontoperc, COnetto, COpagato, COresto ) VALUES ('FT','2','09/05/2012','1','1','0','01/01/2000','','','09/05/2012','franco','0','','12','0','','','18:46:23','34,00','1','1','10','0','10','1','','','','','','','','','','968,10','203,301','0','34,00','0','0','0','0','0','0','0')
Ciao
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 10 mag 2012 - 08:41
Una domanda.
Ma nella tabella DocuTesta i campi sono dichiarati tutti come testo?
Te lo chiedo perchè hai passato nella SQL tutti i campi come stringa (hai messo il ' a tutti i valori anche quelli numerici e di data).
Se effettivamente i campi non sono tutti testo, allora il problema sta nel fatto che per Access le date le devi passare senza ' e nel formato mm/gg/aaaa, per le ore invece mm/gg/aaaa hh:mm:ss mentre per i numerici basta passarli senza ' e con il punto al posto della virgola.
Cristian Barca
olmof
Profilo
| Junior Member
101
messaggi | Data Invio:
gio 10 mag 2012 - 09:14
No, non sono tutti testo.
Sono d'accordo sul discorso apici, però la cosa veramente strana è che prendendo la stringa ed eseguendola come query da Access funziona perfettamente.
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 !