Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema con data 2009

  1. #1

    Problema con data 2009

    Ciao a tutti ho questo ho problemi con Dot.Net e una query che lavora in maniera anomala

    codice:
    <% @Import Namespace="System.Data" %>
    <% @Import Namespace="System.Data.OleDb" %>
    
    <%  
        Dim myConnection as OleDbConnection
        myConnection = new OleDbConnection("provider=sqloledb;data source=(local);initial catalog=xxxxx;user id=xxxxx;password=xxxxx")
        Dim mySqlDataAdapter1 as OleDbDataAdapter
    
        mySqlDataAdapter1 = new OleDbDataAdapter("SELECT id,titolo,sottotitolo,descrizione,last_minute,datainizio,datafine,prezzo,prezzoscontato,'http://www.vacanze.it/images/ImmaginiProposte/' + immagine AS nomefileimmagine, '/dettaglio_proposte.asp?Id_Proposta=' + convert(nvarchar(20),id) As crealink FROM Proposte WHERE DataFine>=CONVERT(DateTime,'" & System.DateTime.Now.toString("yyyy/MM/dd") & "',111) ORDER BY Id Desc", myConnection)
    
        Dim myDataSet as DataSet
        myDataSet = new DataSet()
        mySqlDataAdapter1.Fill(myDataSet,"Proposte")
        mySqlDataAdapter1.Dispose()
        myConnection.Close()
        myConnection.Dispose()
        myDataSet.WriteXml(server.mappath("/filecomuni/daticomuni.xml"))
        myDataSet.Dispose()
    %>
    La query che eseguo mi restituisce 0 record con Asp.net
    se la eseguo direttamente su sql server 2005 mi restituisce 78 record

    Se invece forzo la data al 2008 funziona tutto correttamente sembra ci sii qualcosa che non gli piace con il 2009

    Spero che qualcuno mi sappia aiutare

  2. #2
    nessuno sa aiutarmi per favore

  3. #3
    dovresti provare ad utilizzare l'oggetto OleDbCommand.
    In questo modo puoi passare le date come parametri e non dovresti riscontrare problemi.

    dai uno sguardo a questo esempio:

    http://msdn.microsoft.com/en-us/libr...arameters.aspx
    ...NO ONE IS INNOCENT ANYMORE...

  4. #4
    Grazie mille allora proverò con il tuo consiglio

  5. #5
    Il problema, a mio avviso, non risiede tanto nel tipo di oggetto che utilizza quanto nel contenuto della query in se.
    MI spiego meglio.
    Anzichè scrivere
    codice:
    mySqlDataAdapter1 = new OleDbDataAdapter("SELECT id,titolo,sottotitolo,descrizione,last_minute,datainizio,datafine,prezzo,prezzoscontato,'http://www.vacanze.it/images/ImmaginiProposte/' + immagine AS nomefileimmagine, '/dettaglio_proposte.asp?Id_Proposta=' + convert(nvarchar(20),id) As crealink FROM Proposte WHERE DataFine>=CONVERT(DateTime,'" & System.DateTime.Now.toString("yyyy/MM/dd") & "',111) ORDER BY Id Desc", myConnection)
    spacchetta l'istruzione in questa maniera
    codice:
    dim cQuery as String = ""
    cQuery = ("SELECT id,titolo,sottotitolo,descrizione,last_minute,datainizio,datafine,prezzo,prezzoscontato,'http://www.vacanze.it/images/ImmaginiProposte/' + immagine AS nomefileimmagine, '/dettaglio_proposte.asp?Id_Proposta=' + convert(nvarchar(20),id) As crealink FROM Proposte WHERE DataFine>=CONVERT(DateTime,'" & System.DateTime.Now.toString("yyyy/MM/dd") & "',111) ORDER BY Id Desc"
    mySqlDataAdapter1 = new OleDbDataAdapter(cQuery, myConnection)
    metti un breakpoint e vedi effettivamente che cosa è contenuto nella query. Temo che il problema possa essere in questa istruzione qui System.DateTime.Now.toString("yyyy/MM/dd") che magari è poco gradita a sqlserver.
    Visto che stai lavorando molto lato server (in maniera corretta a mio avviso), potresti provare a scrivere
    codice:
    CONVERT(DateTime,getdate(),111)
    Ti prenderà comunque in considerazione la data attuale.
    Facci sapere!

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 © 2021 vBulletin Solutions, Inc. All rights reserved.