Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problema date...

  1. #1
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154

    problema date...

    Sciau....
    ho un dg ch lavora con mysql, il campo data_inizio (date) del db quando viene scritto accetta una data in input se inserita oppure ne scrive una tipo"0000-00-00" se non trova valori...
    ora nel dg ho una colonna
    codice:
    <ItemTemplate>
    <asp:Label ID="Lbldata_inizio" Text='<%# Scrividata(DataBinder.Eval(Container.DataItem, "data_inizio")) %>' Runat=server />
    </ItemTemplate>
    con una funzione che mi dovrebbe scrivere "" se la data è "0000-00-00" o la data "gg-mm-aaaa" se ha qualcosa....
    ma quello che ottengo è solo un "Cast non valido dal tipo 'DBNull' al tipo 'Date'"


    ! ! ! S I G H ! ! !

  2. #2
    Nella tua funzione prima di fare al cast verso il valore data,
    fai prima il controllo, castandola come stringa, controlli se è nulla e poi fai i lavori che ti servono.

  3. #3
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    codice:
    Function Scrividata(data as string) 
    		If data.Length >10 then 
    			return data.Substring(0, 9)
    		else 
    			data=""
    			return data
    		end if 
    End Function
    questa funzione in teoria dovrebbe scrivere solo gg-mm-aaaa troncando hh-mm-ss....
    ma in realtà mi restituisce solo "Cast non valido dal tipo 'DBNull' al tipo 'String'"....

  4. #4
    Scrividata(DataBinder.Eval(Container.DataItem, "data_inizio").ToString())

    cmq se cosi hai ancora problemi controlla nel db, può essere che non accetta una data con tutti zeri. Io ho dovuto mettere 1111-11-11

  5. #5
    Prova a modificare in questo modo la tua funzione
    passando a questo punto attraverso l'oggetto Object


    codice:
    Function Scrividata(data as Object) 
      If not IsDBNull(obj) then
    	If data.Length >10 then 
    		return data.Substring(0, 9)
    	else 
    		data=""
    		return data
    	end if 
      Else
    	data=""
    	return data
      End If
    End Function

  6. #6
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Originariamente inviato da Daniele80
    Scrividata(DataBinder.Eval(Container.DataItem, "data_inizio").ToString())

    cmq se cosi hai ancora problemi controlla nel db, può essere che non accetta una data con tutti zeri. Io ho dovuto mettere 1111-11-11
    Buona la prima..... F U N G E ! ! !

    Cmq, ti posso garantire che 0000-00-00 funziona come valore nel campo data!

    p.s.: Grazie!

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.