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. Visual Studio 6.0
Visual Studio 2019 C#. Salvare i dati da DataGridView in Access.
mercoledì 05 agosto 2020 - 15.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 5 ago 2020 - 15:23
Gent.mi,
questa volta sono in dificoltà per il salvataggio dei dati inseriti in DataGrdiView in Database di Access che mi indica l'errore di sintassi nell'istruzione in "Insert Into" che non riesco trovare il suddeto errore.
Il DataGridView, viene regolarmente popolato dalle TextBox e con il seguente codice dovrebbe salvare in Database di Access:
> Conn = new OleDbConnection(connStr);
Conn.Open();
String sSQL = "INSERT INTO tabella(Categoria, Link, Nome, Passo, Note) VALUES('" + Txt_Categoria.Text + "','" + Txt_Link.Text + "','" + Txt_Nome.Text + Txt_Riserva.Text + Txt_Note.Text + "')";
OleDbCommand cmd = new OleDbCommand(sSQL, Conn);
cmd.ExecuteNonQuery();
se gentilmente potete suggerire nel superare l'ostacolo.
Anticipatamente ringrazio, saluto.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 5 ago 2020 - 16:47
Ciao Domenico,
qual è il nome della tabella?
La sintassi SQL per fare l'insert è
INSERT INTO nometabella etc etc
tu hai messo tabella.
Per le prossime volte, è consigliato che posti anche l'errore :-)
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 5 ago 2020 - 17:10
Gent.mo Morpheurs87mi,
ringrazio della gentilezza e disponibilità.
L'errore che rilevo:
> Errore di sintassi nell'istruzione INSERT INTO <
Ho provato senza riuscire e posto il codice per intero:
public partial class Frm_Prova : Form
{
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Promemoria.mdb";
OleDbConnection Conn;
OleDbDataAdapter Adapter;
string tabella = "Archivio";
DataSet Ds = new DataSet();
> private void Frm_Prova_Load(object sender, EventArgs e)
{
Tabella_Link.DataSource = table;
Conn = new OleDbConnection(connStr);
string sSQL = ("SELECT * FROM " + tabella);
OleDbCommand Cmd = new OleDbCommand(sSQL, Conn);
Adapter = new OleDbDataAdapter(Cmd);
OleDbCommandBuilder CB = new OleDbCommandBuilder(Adapter);
Adapter.Fill(Ds, tabella);
Tabella_Link.DataSource = Ds.Tables[tabella];
private void Menu_Salva_Click(object sender, EventArgs e)
{
Conn = new OleDbConnection(connStr);
Conn.Open();
String sSQL = "INSERT INTO Archivio(Categoria, Link, Nome, Passo, Note) VALUES('" + Txt_Categoria.Text + "','" + Txt_Link.Text + "','" + Txt_Nome.Text + Txt_Riserva.Text + Txt_Note.Text + "')";
OleDbCommand cmd = new OleDbCommand(sSQL, Conn);
cmd.ExecuteNonQuery();
Mi scuso ed auguro di non aver commesso qualche errore di copia ed incolla.
Ho provato ad inserire sia il nome della tabella che "tabella" con esito negativo.
Sono sempre a ringraziare oltre della disponibilità anche per la pazienza.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 5 ago 2020 - 17:34
L'errore è molto semplice:
Nella riga
String sSQL = "INSERT INTO Archivio(Categoria, Link, Nome, Passo, Note) VALUES('" + Txt_Categoria.Text + "','" + Txt_Link.Text + "','" + Txt_Nome.Text + Txt_Riserva.Text + Txt_Note.Text + "')";
hai messo il + invece della virgola. Mi riferisco ai valori dentro la VALUES
Quindi la sintassi corretta è
String sSQL = "INSERT INTO Archivio(Categoria, Link, Nome, Passo, Note) VALUES('" + Txt_Categoria.Text + "','" + Txt_Link.Text + "','" + Txt_Nome.Text + "','" + Txt_Riserva.Text + "','" + Txt_Note.Text + "')";
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 5 ago 2020 - 17:54
Gent.mo Morpheurs87mi,
presenta lo stesso errore:
> Errore di sintassi nell'istruzione INSERT INTO <
Scusa e ringrazio.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 5 ago 2020 - 17:59
Ho dato per scontato che tutti i campi siano stringhe. Giusto? Se si usa la seguente
String sSQL = "INSERT INTO Archivio(Categoria, Link, Nome, Passo, [Note]) VALUES('" + Txt_Categoria.Text + "','" + Txt_Link.Text + "','" + Txt_Nome.Text + "','" + Txt_Riserva.Text + "','" + Txt_Note.Text + "')";
In altri casi prova a togliere gli apici nei campi numerici
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 5 ago 2020 - 18:34
Gent.mo Morpheurs87mi,
non fa l'errore e non salva i dati.
I campi sono stringhe e non numerici.
Se elimino le parentesi quadre vi è l'errore.
scusami.
Domenico
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 6 ago 2020 - 10:05
Buongiorno Domenico,
il campo Note necessita delle quadre in quanto una parola chiave.
Ti chiedo di fare 2 cose:
1. conoscere il valore della variabile sSQL: esegui un debug
2. eseguire una Insert diretta, ovvero senza recuperare i campi dalle text: string sSQl: "INSERT INTO Archivio(Categoria, Link, Nome, Passo, [Note]) VALUES('A', 'B', 'C', 'D', 'E')";
Fammi sapere
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
gio 6 ago 2020 - 10:53
Gent.mo Morpheurs87mi,
non succede nulla sulla variabile sSQl, che è tratteggiata di rosso, viene la seguente finestra;
> (Variabile locale) string sSQl
la variabile "sSQl" è assegnata, ma il suo valore non viene mai usato.
Assegnazione non necessaria di un valore a "sSQl"
Visto la difficoltà una cortesia se invio il file zippato potresti dare una occhiata?
Rifaccio il file solo parte interessata.
Ringrazio della disponibilità.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 6 ago 2020 - 10:56
Se mi dai il tuo contatto skype ti aggiungo e facciamo la condivisione dello schermo.
Non ho Visual Studio installato in questo pc.
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Junior Member
50
messaggi | Data Invio:
gio 6 ago 2020 - 11:06
Gent.mo Morpheurs87mi,
con vero piacere, non uso Skype uso Team Viewer il mio ID:
> 102941596
Password:
83eii6
Grazie
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 !