Ciao a tutti! E' il mio primo messaggio qui sul forum e spero di ricevere aiuto!
Premetto che sono nuovo nei database e per il tipo di applicazione che sto facendo.
Vi spiego subito.
Sono alle prese con una piccola applicazione in C# che deve collegarsi ad un database in access.
Fin qui nessun problema, riesco senza problemi ad effettuare la connessione al database.
Quello che mi serve ora č che nella query che faccio la condizione WHERE venga presa da una variabile.
Ho provato in questo modo:
codice:
String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=C:\\db\\Comandi.mdb";
OleDbConnection con = new OleDbConnection(connect); con.Open();
OleDbCommand cmd1 = con.CreateCommand();
cmd1.CommandText = "SELECT TOP 1 comando FROM Operazioni WHERE operazione = ?";
OleDbParameter p1 = new OleDbParameter();
cmd1.Parameters.Add(p1);
p1.Value = "1000";
OleDbDataReader reader = cmd1.ExecuteReader();
reader.Read();
string messaggio = reader.GetString(0);
MessageBox.Show(messaggio);
Facendo in questo modo effettivamente WHERE operazione prende il valore 1000, se io cambio quel valore si prende il valore cambiato, ma se io provo
a dare a dare a p1.Value un'altra stringa, ad esempio:
codice:
string valore = "1000";
p1.Value = valore;
l'applicazione non procede con l'esecuzione e mi crasha e come se non riuscisse a vedere appunto il value come stringa variabile..
Dove sbaglio?!?
Grazie mille a tutti in anticipo!!