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
[C# - Access] Query Update
domenica 12 dicembre 2010 - 21.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
|
Access (.mdb)
StefyGraf
Profilo
| Newbie
19
messaggi | Data Invio:
dom 12 dic 2010 - 21:41
Salve a tutti,
in un database Access ho una tabella di nome Dati e con 4 campi: ID, Nome, Cognome, Check.
ID è un numero intero, Nome è un testo, Cognome è un testo, Check è una Checkbox.
Il mio problema è che non riesco a fare la query di update anche sulla CheckBox mentre nella query di inserimento sì.
Questo è il codice che ho usato per l'inserimento:
// Query inserimento nuovo record
using (_cmd = new OleDbCommand("INSERT INTO [Dati] ([ID], [Nome], [Cognome], [Check]) VALUES (?, ?, ?, ?)", _conn))
{
_cmd.Parameters.AddWithValue("ID", txtID.Text);
_cmd.Parameters.AddWithValue("Nome", txtNome.Text);
_cmd.Parameters.AddWithValue("Cognome", txtCognome.Text);
_cmd.Parameters.AddWithValue("Check", checkBox1.Checked);
try
{
// Esegue la queryqq
_cmd.ExecuteNonQuery();
// Appare un messaggio di successo
MessageBox.Show("Record inserito!");
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}
E FUNZIONA PERFETTAMENTE!
Questa è la query di aggiornamento e quando la eseguo di dice che c'è un errore di sintassi:
// Query aggiornamento valori
using (_cmd = new OleDbCommand("UPDATE Dati SET ID = ?, Nome = ?', Cognome = ?' , Check = ? WHERE ID = ?", _conn))
{
_cmd.Parameters.AddWithValue("ID", txtID.Text);
_cmd.Parameters.AddWithValue("Nome", txtNome.Text);
_cmd.Parameters.AddWithValue("Cognome", txtCognome.Text);
_cmd.Parameters.AddWithValue("Check", checkBox1.Checked);
try
{
// Esegue la query
_cmd.ExecuteNonQuery();
// Appare messaggio di conferma
MessageBox.Show("Record aggiornato!");
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}
E NON FUNZIONA!!!
Ho provato a togliere il Check dalla query e anche come parametro e funziona perfettamente, ma mi serve una query che aggiorni anche la checkbox!!!
Grazie mille a tutti!!!!
ciccio_ska
Profilo
| Newbie
46
messaggi | Data Invio:
lun 13 dic 2010 - 09:39
Ciao,
ho notato un paio di cose nella tua query:
>using (_cmd = new OleDbCommand("UPDATE Dati SET ID = ?, Nome
>= ?', Cognome = ?' , Check = ? WHERE ID = ?", _conn))
1)ci sono degli apici singoli qua e là...(Cognome,Nome)
2)se il campo ID è chiave è normale che tu non riesca ad aggiornare il record..
Prova un pò..
Francesco Scalise
blog:
http://netdev.flash-hacks.com
StefyGraf
Profilo
| Newbie
19
messaggi | Data Invio:
lun 13 dic 2010 - 17:41
Gli apici li ho corretti, ma il problema è il Check.
Se lo tolgo funziona alla grande. E' è il parametro sbagliato oppure la query?
StefyGraf
Profilo
| Newbie
19
messaggi | Data Invio:
lun 13 dic 2010 - 19:38
HO RISOLTO!!!!
Ecco la query giusta:
"UPDATE Dati SET ID = ?, Nome = ?, Cognome = ?, [Check] = ? WHERE ID = ?"
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 !