C'est-un-truc-de-dingue.
Bonjour à vous tous qui entrez dans un terrain mystérieux.
Mon problème est simple : prendre une donnée de type double en cherchant dans la BDD à partir d'une variable de type String.
J'ai fait le code, ça devrait marcher (et je l'ai fait de deux façons complètement différentes), MAIS, lorsque je veux pour rechercher cette valeur, il me dit qu'il n'arrive pas à convertir une donnée de la table de type String en donnée de type Integer, ce qui est normal ! Là où je ne capte pas, c'est pourquoi il s’entête à vouloir convertir cette p***** de donnée alors que je ne lui demande pas ! voici le code : (et, amis puristes, vous noterez que j'ai fait ça dans les règles de l'art!)
Code VB.NET : 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Private Function GetStressAllowTemperature(ByVal TempCelsius As String, ByVal ProductForm As String, ByVal Nom As String, ByVal Taille As Double) As Double Dim indiceLH As String = "c" Dim indiceOut As Int16 = 0 Dim RequeteSQL As String = "SELECT * FROM P_ASME_SI WHERE Nom='" & Nom & "'" Dim dt As System.Data.DataTable Dim i As Integer = 0 Dim cn As New SqlConnection Dim cmd As New SqlCommand Dim ds As New DataSet Dim da As SqlDataAdapter Dim connectionstring As String = "Data Source=SV4203******;Initial Catalog=bas****;Persist Security Info=True;User ID=*******;Password=*******" Dim Table_P_ASME_SI As System.Data.DataTable Dim ligne As DataRowView Dim ligneTrouvees() As DataRowView Dim criteres() As Object cn = New SqlConnection(connectionstring) cn.Open() cmd.Connection = cn cmd.CommandText = "SELECT * from P_ASME_SI" da = New SqlDataAdapter(cmd) da.Fill(ds, "P_ASME_SI") Table_P_ASME_SI = ds.Tables("P_ASME_SI") Table_P_ASME_SI.DefaultView.Sort = "Product_Form ASC, Nom ASC, LowHigh ASC" criteres = (New Object() {ProductForm, Nom, indiceLH}) ligneTrouvees = Table_P_ASME_SI.DefaultView.FindRows(criteres) If ligneTrouvees.Length = 0 Then MsgBox("Il n'y a pas de valeurs pour le matériau choisi.") Else For Each ligne In ligneTrouvees MsgBox("Nom : {0}", ligne("Nom")) 'il bug ici, tout à la fin !!! Texte de l'erreur mis juste après Next End If
"La conversion de la chaîne "SB-5445" en type 'Integer' n'est pas valide." Mais pourquoi il s'obstine ? :/
Partager