Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    select su db sqlserver con c#

    ciao a tutti.. Ho un problema con una select che faccio su un database sql server tramite una mia funzioncina in c# che mi restituisce una data table su cui io poi recupero i dati...

    il problema è il seguente:

    tramite una select io mi recupero una data in formato data del db tramite un foreach che scorre la data table che mi restituisce la mia funzioncina in questo modo:

    Codice PHP:
    foreach (DataRow dr3 in tabella3.Rows)
                        {
                            
                            
    Object DataArrivoPrevisto dr3[1];
                            
    DataArrivoPrevisto_d Convert.ToDateTime(DataArrivoPrevisto);
                            
    String DataArrivoPrevisto_s DataArrivoPrevisto.ToString();
                        
                         } 
    questa data mi serve come uno dei parametri per un'altra select ( deve andare nel WHERE per intenderci )..

    ho provato a passare a quest'altra select che devo fare sia DataArrivoPrevisto coem stringa ( DataArrivoPrevisto_s ) che come datatime ( DataArrivoPrevisto_d )

    in entrambi i casi ottengo questo errore:

    la conversione di tipo di dati da char a datetime ha generato un valore di tipo datetime non compreso nell'intervallo dei valori consentiti

    Inoltre

    siccome ho pensato che nel database c sono dei valori per la data che sono null di fare un controllo del genere:

    Codice PHP:

    if (!DataArrivoPrevisto.Equals(null))
                            {
                                
    DataArrivoPrevisto_d Convert.ToDateTime(DataArrivoPrevisto);
                            }
     else { 
    DataArrivoPrevisto_d DateTime.Now//era per provare quì mi servirebbe qualcos'altro }; 
    in questo caso usando DataArrivoPrevisto_d ottengo il seguente errore:

    impossibile eseguire il cast da DBNull ad altri tipi

    qualcuno potrebbe darmi una mano a capire come risolvere???

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    conviene fare una query che fà tutto sul db.
    Fare due query non ha senso.

    per quanto riguarda il codice che hai postato, il problema secondo me è che probabilmente questo dr3[1]; è DBNull!!
    metti un breakpoint in questa riga
    DataArrivoPrevisto_d = Convert.ToDateTime(DataArrivoPrevisto);
    e guarda il valore di dr3[1].
    I got the remedy

  3. #3
    penso di dover fare per forza delle select una dentro l'altra perchè dovrei ricavarmi 1° dei clienti, poi gli ordini di quei clienti e quindi i fornitori degli ordini e infine gli articoli dei fornitori..

    o posso fare in qualche altro modo??

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.