Oppure

Loading
04/10/17 20:43
wuolfit
Salve,
questa volta il mio problema è questo ho una web form scritta in asp.net c# tramite la quale l'utente può, con l'utilizzo di alcune dropdownlist debitamente collegate ad un db ms sql, richiedere un libro usano il seguente sistema : tramite la prima lista sceglie il genere, con la seconda l'autore, con la terza il titolo e così via. Una volta scelto il libro e premuto il il bottone "Richiedi" vorrei che venisse inviata una richiesta, ma non riesco a leggere i valori selezionati dall'utente quando vado ad eseguire la query invece di ricevere come valore ad esempio "Il signore degli Anelli" (titolo del libro) mi da titolo (nome della colonna della tabella del db) il codice che uso per leggere i dati è :

string connection = "User ID=utente;Password=password;";
connection += "database=Database;server=Server;";
SqlConnection conn1 = new SqlConnection(connection);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
conn1.Open();
cmd.Parameters.Add("@Genere", SqlDbType.Int).Value = ddListGenere.DataValueField;
cmd.Parameters.Add("@Autore",SqlDbType.Int).Value = ddListAutore.DataValueField;
cmd.Parameters.Add("@Titolo",SqlDbType.SmallInt).Value = ddListTitolo.DataValueField;
reader = cmd.ExecuteReader();
conn1.Close(); //Chiude la connessione.


Dove è che sbaglio? come faccio ad avere il titolo del libro invece che il nome della colona della tabella????
Grazie Mille!!!!
Ultima modifica effettuata da wuolfit 04/10/17 21:39
aaa
05/10/17 6:35
Thejuster
Non saprei ma personalmente sono abituato ad usare il classico linguaggio sql. Sei sicuro che non tradisce mai.

Prova a scrivere direttamente la query sql nel cmd senza settare parametri per parametri tipo

cmd = new MySqlCommand("select from tabella where campo = 'valore';");

 risultato = cmq.ExecuteReader();
mire.forumfree.it/ - Mire Engine
C# UI Designer
05/10/17 8:52
wuolfit
Thejuster grazie mille per la dritta ma ho trovato la soluzione con un altro metodo!!!! Cioé non leggere il campo datavaluefield della dropdownlist ma bensì "il valore selezionato" quindi il codice corretto è :

cmd.Parameters.Add("@Genere", SqlDbType.Int).Value = ddListGenere.SelectedValue; 
aaa