Vb 2008 passaggio parametri a stored procedure

lunedì 22 marzo 2010 - 10.31

ma_di Profilo | Junior Member

Ciao a tutti; spero di essere nel forum giusto.
Windows 2003 server, sql 2005 professional, vb 2008 professional.

Ho una sub che riceve in ingresso due date (d1 e d2) , già formattate come aaaa-mm-gg hh:mm:ss sottoforma di string.
Apertura connessione al db tutto ok.

Dichiaro la variabile cmd come

cmd As New ADODB.Command

Il problema è che quando eseguo
cmd.Parameters.Item("@date1").Value = d1 il valore inserito nei parametri è la sola data, nel formato americano, ovvero dd/mm/aaaa, senza l'ora; la stored così non funziona.
Nel DB, @date1 e @date2 sono nel formato DATETIME.
Mi chiedevo se esiste un modo per "forzare" in qualche modo cmd.Parameters.Item("@date1").Value al tipo stringa, senza che sia convertito in automatico a data.
Qualcuno può darmi un aiuto?
Grazie e ancora ciao.

Gho5t Profilo | Junior Member

alla definizione dei parametri prova a specificargli il tipo di dato che intendi passargli
cmd.Parameters.Add("@date1", SqlDbType.DateTime)

p.s. una curiosità... perché utilizzi l'ADODB invece che il SqlClient che è proprio per Sql Server?

ma_di Profilo | Junior Member

Ciao Gho, e grazie per la risposta.
Alla fine ho convertito tutte le sub a suo tempo scritte con ADO...e dopo un po' di prove ora funziona tutto.
Nel merito

.Add(New SqlParameter("@date1", SqlDbType.DateTime)).Value = issue_date

e così via per tutti gli altri parametri delle varie stored.
Grazie per l'interessamento e per l'aiuto.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5