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:
Facendo in questo modo effettivamente WHERE operazione prende il valore 1000, se io cambio quel valore si prende il valore cambiato, ma se io provocodice: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);
a dare a dare a p1.Value un'altra stringa, ad esempio:
l'applicazione non procede con l'esecuzione e mi crasha e come se non riuscisse a vedere appunto il value come stringa variabile..codice:string valore = "1000"; p1.Value = valore;
Dove sbaglio?!?
Grazie mille a tutti in anticipo!!

Rispondi quotando