Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    5

    DropDownList database SQL

    Sto creando una pagina di inserimento dati (aspx con VBnet) con campi liberi e con campi "condizionati" dalle DropDownList SQL...
    Ecco che l'inserimento libero dei titoli dei film funziona:

    Function MyInsertMethod(ByVal titolo As String, ByVal NDischi As Decimal) As Integer
    Dim connectionString As String = "server='servern'; user id=''; password=''; database='prova'"
    Dim dbConnection As System.Data.IDbConnection = New
    System.Data.SqlClient.SqlConnection(connectionStri ng)
    Dim queryString As String = "INSERT INTO [Film] ([Titolo],
    [Supporto], [NDischi], [Genere], [Owner]) VALUES (@Titolo, @Supporto,
    @NDischi, @Genere, @Owner)"
    Dim dbCommand As System.Data.IDbCommand = New
    System.Data.SqlClient.SqlCommand
    dbCommand.CommandText = queryString
    dbCommand.Connection = dbConnection

    Dim dbParam_titolo As System.Data.IDataParameter = New
    System.Data.SqlClient.SqlParameter
    dbParam_titolo.ParameterName = "@Titolo"
    dbParam_titolo.Value = titolo
    dbParam_titolo.DbType = System.Data.DbType.String
    dbCommand.Parameters.Add(dbParam_titolo)

    Mentre i campi condizionati (supporto, numero dischi, ecc), pur non
    restituendomi nessun errore, mi appaiono bianchi

    Dim ppp As String = "SELECT DISTINCT Supporto FROM Film"
    Dim comando1 as System.Data.IDbCommand = New
    System.Data.SqlClient.SqlCommand
    DropDownList1.DataTextField = "Supporto"
    DropDownList1.DataSource =
    comando1.ExecuteReader(System.Data.CommandBehavior .CloseConnection)
    DropDownList1.DataBind()
    DropDownList1.Items.Insert(0, "-- Supporto --")

    Non credo di dover aprire una connessione, giā aperta all'inizio, nč di dover ridefinire dbCommand...

    Ciao
    Stefano

  2. #2

    Re: DropDownList database SQL

    Originariamente inviato da boboviz
    Non credo di dover aprire una connessione, giā aperta all'inizio, nč di dover ridefinire dbCommand...
    Se usi un sqlcommand dichiara l'oggetto command di quel tipo e non come idbcommand.
    Se usi un datareader DEVI aprire una connection e chiuderla insieme al datareader dopo averlo usato.
    Se usi un datareader per popolare una dropdownlist devi obbligatoriamente scorrerlo record per record dal primo all'ultimo aggiungendo manualmente l'item al drop down. Se cosi' non ti piace puoi riempire una datatable e mapparla alla proprieta' datasource della dropdownlist.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    5
    diventerebbe una cosa del tipo:

    Dim Connessione As String = "server=(local);database=prova;trusted_connection= true"
    Dim ppp As String = "select distinct Supporto from Film"
    Dim myConnection As New SqlConnection(Connessione)
    Dim myCommand As New SqlCommand(ppp, myConnection)
    DropDownList1.DataTextField = "Supporto"

    myConnection.Open()

    DropDownList1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConne ction)
    DropDownList1.DataBind()
    DropDownList1.Items.Insert(0, "-- Supporti --")

    ????

    Ciao

  4. #4
    Originariamente inviato da boboviz
    diventerebbe una cosa del tipo:
    la prima parte va meglio (cambierei il modo di nominare le variabili es ConnectionString al posto di Connection).
    La seconda e' ancora sbagliata. Il datareader e' un oggetto per sua natura connesso. Ed e' quindi necessario metterlo all'interno di
    codice:
    connection.Open
    ' qui metti il codice per leggerlo
    connection.Close
    Mentre per leggere/utilizzare il contenuto di un datareader e' obbligatori scorrerlo dall'inizio alla fine (e' un oggetto forward only) con un ciclo
    es. (non ho controllato la sintassi quindi e' solo per capirci)
    codice:
    while dr.read 
    ' codice per leggere il record ed eventualmente farci qualcosa
    ' es. tuadropdown.items.add(dr.getstring(....ecc. ecc.))
    loop
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.