Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [VB.NET] SelectCommand

  1. #1

    [VB.NET] SelectCommand

    Buona sera, vorrei, se fosse possibile, sapere dove sbaglio:

    Grazie in anticipo.
    .....
    .....
    <script runat="server">

    Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    TornaGiorno()
    End Sub

    </script>
    <script language="vbscript" runat="server">
    Function TornaGiorno() As String
    Dim CheGiorno As String
    Dim CheGiornoSQL As String
    Dim tagliadata As String

    CheGiorno = Left(Calendar1.SelectedDate, 10)
    tagliadata = CheGiorno

    If Left(tagliadata, 1) = "0" Then
    tagliadata = Right(tagliadata, 9)
    End If

    CheGiornoSQL = "SELECT * FROM [ordini] WHERE [Chiuso] = 'N' AND (CAST(DAY(datacreazioneordine) AS varchar(2)) + '/' + CAST(MONTH(datacreazioneordine) AS varchar(2)) + '/' + CAST(YEAR(datacreazioneordine) AS varchar(4)) = '" & tagliadata & "')"
    'Response.Write(CheGiornoSQL)

    Return CheGiornoSQL
    End Function
    </script>
    .....
    .....
    .....
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:telecomxmlConnectionString %>"
    SelectCommandType="Text" SelectCommand="@VarDataSQL">
    <SelectParameters>
    <asp:Parameter Name="VarDataSQL" Type="string" DefaultValue="<% TornaGiorno() %>"/>
    </SelectParameters>
    </asp:SqlDataSource>
    Linux For Ever and Ever and Ever....

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Se non dici che problema ti da, è impossibile aiutarti...E poi non credo sia vb.net...

  3. #3
    Hai ragione, nn è VB.NET, ma ASP.NET con VBScript

    Il Problema lo da SQL ed è che la variabile scalare non viene vista e mi da errore di sintassi nella selectcommand.
    Di seguito stampo il risultato della funzione TornaGiorno()

    SELECT * FROM [ordini] WHERE [Chiuso] = 'N' AND (CAST(DAY(datacreazioneordine) AS varchar(2)) + '/' + CAST(MONTH(datacreazioneordine) AS varchar(2)) + '/' + CAST(YEAR(datacreazioneordine) AS varchar(4)) = '10/11/2009')

    La sintassi è giusta, della select, perchè se copio il risultato di TornaGiorno() e lo eseguo all'interno di SQL Manager funziona perfettamente.
    Forse sbaglio nella sintassi del parametro...???
    Grazie

    p.s. ho ripreso a programmare dopo diversi anni e noto che tutto è più facile, ma ci sono dei meccanismi che sto scoprendo solo ora, scusatemi in anticipo.
    Linux For Ever and Ever and Ever....

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.