dudulebzh35
Messages postés23Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 8 juin 2009
-
1 août 2008 à 11:53
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010
-
1 août 2008 à 15:13
Bonjour,
J'ai juste une question (et non un problème). J'ai une connexion SqlServer a une base de données. Et j'ai donc un objet SqlCommand auquel je passe des parametres.
Or dans les différentes fonctions d'ajout de SqlParameter, on a la possibilité de passer le type de la donnée.
cmd.Parameter.Add(nParam, vColumn) ou
cmd.Parameter.Add(nParam, sqlDbType) ou
cmd.Parameter.Add(nParam, sqlDbType, size) ou ....
Ma question etait donc de savoir si le fait de donner le type de la colonne (sqlDBType) a des conséquences ou pas sur la requete ? (mauvais format en base ou autre anomalies).
En vous remerciant de vos commentaires.
Kenavo
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 1 août 2008 à 15:13
Salut,
Ou cela a un impact.
voici un exemple: d'une generation d'un sqlparameter
Dim parameter As SqlClient.SqlParameter
For Each col As DataColumn In Me.MonDataset.Tables(TableName).Columns
parameter = command.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@" + col.ColumnName, GetDBType(col.DataType), 0, Global.System.Data.ParameterDirection.Input, 0, 0, col.ColumnName, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
Next
o cas ou cela peut te servir cette fonction pour passer d'un datatype a sqldbtype
Private Function GetDBType(ByVal theType As System.Type) As SqlDbType
Dim p1 As SqlClient.SqlParameter
Dim tc As System.ComponentModel.TypeConverter
p1 = New SqlClient.SqlParameter()
tc = System.ComponentModel.TypeDescriptor.GetConverter(p1.DbType)
If tc.CanConvertFrom(theType) Then
p1.DbType = tc.ConvertFrom(theType.Name)
Else
'Try brute force
Try
p1.DbType = tc.ConvertFrom(theType.Name)
Catch ex As Exception
'Do Nothing
End Try
End If
Return p1.SqlDbType
End Function
@+
youpi :)