Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Non si popola correttamente seconda dropdownlist

    Ciao a tutti.

    Non riesco a far funzionare la seconda dropdownlist di questa pagina aspnet.
    La seconda dropdownlist si popola secondo il valore selezionato nella prima dropdownlist ma la query eseguita tramite selectCommand funziona soltanto così:

    codice:
       SelectCommand="SELECT * FROM tbl_1 WHERE 1 AND siglaunita like ?"
    A me servirebbe invece prendere soltanto i primi due caratteri del campo siglaunita.

    Ho provato con left(?,2), con like '%?%', con like '%'?'%' ma o la pagina va in errore oppure restituisce errore nella sintassi di mysql.

    Perchè?
    Grazie mille per l'aiuto.

    codice:
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnMySQL %>"
        ProviderName="<%$ ConnectionStrings:ConnMySQL.ProviderName %>"
        SelectCommand="SELECT * FROM tbl_1 WHERE 1 LIMIT 0,4"
        DataSourceMode="DataSet">
    </asp:SqlDataSource>
    
    
    Unità
    <asp:DropDownList ID="DropDownList1" runat="server" Visible="true"
       DataSourceID="SqlDataSource1"
       AutoPostBack="True" 
       DataTextField="denominazioneunita" 
       DataValueField="siglaunita">
    <asp:ListItem>Seleziona un valore</asp:ListItem>
    </asp:DropDownList>
        </p>
    
    
    
    
    <asp:sqldatasource ID="SqlDataSource2" runat="server"
       ConnectionString="<%$ ConnectionStrings:ConnMySQL %>"
       ProviderName="<%$ ConnectionStrings:ConnMySQL.ProviderName %>"
       SelectCommand="SELECT * FROM tbl_1 WHERE 1 AND siglaunita like ?" 
       DataSourceMode="DataSet">
    <selectparameters>
    <asp:controlparameter Name="siglazona" ControlID="DropDownList1" PropertyName="SelectedValue" Direction="Input" />
    </selectparameters>
    </asp:sqldatasource>
    
    
    
    <asp:DropDownList ID="DropDownList2" runat="server" Visible="true"
       DataSourceID="SqlDataSource2"
       AutoPostBack="True" 
       DataTextField="Denominazioneunita"
       DataValueField="siglazona">
    </asp:DropDownList>
    </p>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    guarda non l'ho neanche provata ma a naso io farei così

    SelectCommand="SELECT * FROM tbl_1 WHERE 1 AND siglaunita like '%' + ? + '%'"

    dico scempiaggini?

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da giando877
    guarda non l'ho neanche provata ma a naso io farei così

    SelectCommand="SELECT * FROM tbl_1 WHERE 1 AND siglaunita like '%' + ? + '%'"

    dico scempiaggini?
    Grazie mille, ma va in errore:


    SelectCommand="SELECT * FROM tbl_1 WHERE 1 AND siglaunita like '%' + ? + '%'"

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.45-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+ 'XQ00' + '%'' at line 1
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.Odbc.OdbcException: ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.45-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+ 'XQ00' + '%'' at line 1
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    Prova

    SELECT * FROM tbl_1 WHERE 1 AND siglaunita like CONCAT('%', ? ,'%')

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da giando877
    Prova

    SELECT * FROM tbl_1 WHERE 1 AND siglaunita like CONCAT('%', ? ,'%')

    Grazie, ma anche così:

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.45-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CONCAT('%', 'XQ00' ,'%')' at line 1
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Se provo la query direttamente in mysql:
    codice:
    SELECT * FROM tbl_1 WHERE 1 AND siglazona LIKE CONCAT('%','XQ00','%')
    Il risultato non prende in considerazione solo i primi due caratteri della stringa XQ00, ma tutti e quattro con output per me non corretto.

    Se invece provo così:
    codice:
    SELECT * FROM tbl_1 WHERE 1 AND siglazona LIKE CONCAT('%','XQ','%')
    Il risultato prende in considerazione solo i primi due caratteri della stringa XQ00 con output corretto.

    Il problema è il valore della variabile della prima dropdownlist che aspnet invia alla seconda dropdownlist...

    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Risolto !

    Ecco la sintassi corretta, provata sia in mysql che in aspnet!



    codice:
    "SELECT name FROM tbl_1" +
                      "WHERE 1 AND siglazona LIKE CONCAT('%',Left(?,2),'%');
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

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.