Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Valore DropDownList
Forum - C# / VB.NET - Valore DropDownList

Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 22:43
Mercoledì, 04/10/2017
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 è :

Codice sorgente - presumibilmente C# / VB.NET

  1. string connection = "User ID=utente;Password=password;";
  2. connection += "database=Database;server=Server;";
  3. SqlConnection conn1 = new SqlConnection(connection);
  4. SqlCommand cmd = new SqlCommand();
  5. SqlDataReader reader;
  6. conn1.Open();
  7. cmd.Parameters.Add("@Genere", SqlDbType.Int).Value = ddListGenere.DataValueField;
  8. cmd.Parameters.Add("@Autore",SqlDbType.Int).Value = ddListAutore.DataValueField;
  9. cmd.Parameters.Add("@Titolo",SqlDbType.SmallInt).Value = ddListTitolo.DataValueField;
  10. reader = cmd.ExecuteReader();
  11. 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 il 04/10/2017 alle 23:39


WuOlFiT
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1693
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:35
Giovedì, 05/10/2017
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

Codice sorgente - presumibilmente C# / VB.NET

  1. cmd = new MySqlCommand("select from tabella where campo = 'valore';");
  2.  
  3.  risultato = cmq.ExecuteReader();



PM Quote
Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 10:52
Giovedì, 05/10/2017
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 è :

Codice sorgente - presumibilmente Plain Text

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



WuOlFiT
PM Quote