Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Perdita del tipo

  1. #1

    Perdita del tipo

    Se un oggetto di tipo "Date" (la domanda vale per qualunque tipo) lo metto in un oggetto "Object" perde il suo "tipo" o lo mantiene?

    Mi spiego con un esempio, dando per costruita una strnga sql in cui è stato inserito un parametro @DTFineValidita il codice:

    Dim DTFineValidita as Date
    DTFineValidita = Now()
    cmd.Parameters.Add("@DTFineValidita", DTFineValidita)


    equivale a questo:


    Dim DTFineValidita as Date
    Dim oDTFineValidita as Object
    DTFineValidita = Now()
    oDTFineValidita = DTFineValidita
    cmd.Parameters.Add("@DTFineValidita", oDTFineValidita)


    oppure c'è il rischio che il metodo Add della collection Parameters si comporta in modo differente magari nella conversioni siccome gli viene passato un tipo Object invece che Date?

    L'esempio l'ho fatto per Date ma vale per qualunue tipo, dovrei fare un oggetto e un'ipotesi è che tutti i valori dei parametri stiano dentro uan proproetà Object e vorrei essere sicuro che questo non possa creare problemi

    Grazie

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    Dim i As Integer = 10
    Dim o As Object = i
    Response.Write("o.GetType.ToString() = " & o.GetType.ToString() & "
    ") '-> System.Int32
    Dim d As New DateTime(2007, 2, 7)
    o = d
    Response.Write("o.GetType.ToString() = " & o.GetType.ToString() & "
    ") '-> System.DateTime
    Pietro

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Re: Perdita del tipo

    A parte l'esempio chiarificatore di Pietro, per specificare il tipo da 'attaccare' al parametro passato c'è l' Enumeration System.Data.SqlDbType (oppure OleDbType se usi OleDB) che elenca tutti i tipi...

    Es:
    codice:
            Dim conn As New System.Data.OleDb.OleDbConnection(ConfigurationSettings.AppSettings("Delete"))
            conn.Open()
            Dim cmdDelete As New System.Data.OleDb.OleDbCommand("SP_DELETE", conn)
            cmdDelete.CommandType = CommandType.StoredProcedure
            cmdDelete.Parameters.Add("@parametro", OleDbType.VarChar).Value = VariabileValore
    ...specificando poi il suo valore con la proprietà Value.

  4. #4
    Grazie ad entrmabi

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