Bonjour,


Je travail actuellement sur un vieux un projet ou j'ai quelques problèmes avec le typage en VB.NET -> T-SQL notamment sur tout ce qui est float, decimal, money ...

Le système actuellement utilisé par le projet est le constructeur "SqlParameter (String, Object)", mais à l'heure actuel je ne trouve pas le moyen de faire SqlParameter (String, Object, SqlDbType).

Ce que j'ai trouvé qui se rapproche le plus de ce que je souhaite mettre en place c'est sur MSDN : "SqlParameter (String, SqlDbType, Int32, String)" ... mais je comprends pas comment il fonction, ou est passé Object ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
    Public Function ExecuteDataSet(ByVal commandtext As String) As DataSet
        If arParams.Count > 0 Then
            Dim arParamsList() As SqlParameter = New SqlParameter(arParams.Count) {}
            For i As Integer = 0 To arParams.Count - 1
                arParamsList(i) = New SqlParameter(CStr(arParams(i)(0)), CStr(arParams(i)(1)))
            Next
            Return SqlHelper.ExecuteDataset(cnn, CommandType.Text, commandtext, arParamsList)
        Else
            Return SqlHelper.ExecuteDataset(cnn, CommandType.Text, commandtext)
        End If
        arParams.Clear()
    End Function
 
    Public Sub AddParam(ByVal paramname As String, ByVal paramvalue As Object)
        Dim tParams As String() = {paramname, paramvalue}
        arParams.Add(tParams)
    End Sub
 
    Public ReadOnly Property Parameters() As ArrayList
        Get
            Return arParams
        End Get
    End Property
Merci de votre aide