cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 28 juil. 2005 à 14:24
bon...je viens de comprendre le problème : toutes tes variables et/ou méthodes sont "Shared" !!
Je te rapelle que "Shared" veut dire "static" !, c'est à dire que ces
variables et/ou fonctions ne sont pas propre à chaque objet que tu
instancie !!
(il n'y en a qu'une pour toutes les instances de la classe, donc si une
instance modifie une variable, l'autre aussi verra sa variable modifié,
vu que c'est la même variable !)
Je sais pas si j'ai été très clair, et je n'ai pas parcouru tout ton
code, mais tu devrais enlever tous ces "Shared" ! ça devrait éviter ce
genre de problème.
"Shared" sert à utiliser une méthode et/ou variable sans instance de la classe : tu n'en n'a pas besoin ici !
Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même !
'------------------------FIN DES ACCESSEURS-------------------------
'redéfinition de l'opérateur =
Public
Overloads
Shared
Function equals(
ByVal a
As Article)
As
Boolean
If idArticle = a.getNumArticle
Then
Return
True
Else
Return
False
End
If
End
Function
Public
Shared
Function getOptionRecommande()
As DataSet
' on recherche les options d'un produit
Dim SQL
As
String = "Select * From article Where id_article=" & idArticle
'"SELECT id_article, nom, descSuc from Article INNER JOIN Article_option ON article.id_article = Article_option.fk_option WHERE Article_option.fk_article=" & idArticle & " AND valide=1"
Dim oDA
As
New Data.SqlClient.SqlDataAdapter(SQL, getConnString)
Dim oDS
As
New DataSet
oDA.Fill(oDS)
oDA.Dispose()
Return oDS
End
Function
Public
Shared
Function getComplementaire()
As DataSet
' on recherche les options d'un produit
Dim SQL
As String "SELECT fk_complement from Article INNER JOIN article_complement ON id_article fk_article WHERE id_article=" & idArticle & " AND valide=1"
Dim oDA
As
New Data.SqlClient.SqlDataAdapter(SQL, getConnString)
Dim oDS
As
New DataSet
oDA.Fill(oDS)
oDA.Dispose()
Return oDS
End
Function
Public
Shared
Function getGenerique()
As DataSet
' on recherche les options d'un produit
Dim SQL
As
String = "select fk_generique, param1, param2 from article where id_article=" & idArticle & " AND valide=1"
Dim oDA
As
New Data.SqlClient.SqlDataAdapter(SQL, getConnString)
Dim oDS
As
New DataSet
oDA.Fill(oDS)
oDA.Dispose()
Return oDS
End
Function
Public
Shared
Function getParametres()
As DataSet
' on recherche les options d'un produit
Dim SQL
As
String = "select id_article, param1, param2 from article where fk_generique=" & idArticle & " AND valide=1"
Dim oDA
As
New Data.SqlClient.SqlDataAdapter(SQL, getConnString)
Dim oDS
As
New DataSet
oDA.Fill(oDS)
oDA.Dispose()
Return oDS
End
Function
Public
Shared
Sub setArticle(
ByVal id_article
As
Integer)
Dim myConnection
As
New Data.SqlClient.SqlConnection(getConnString)
Dim sql
As
String = "Select * From article Where id_article=" & id_article
Dim myCommand
As
New Data.SqlClient.SqlCommand(sql, myConnection)
myConnection.Open()
Dim myReader
As Data.SqlClient.SqlDataReader
myReader = myCommand.ExecuteReader()
If myReader.Read()
Then
nom = myReader.GetString(2)
idArticle = id_article
ref = myReader.GetString(1)
nom = myReader.GetString(2)
If
Not myReader.IsDBNull(8)
Then descSuc = myReader.GetString(8)
Else descSuc = ""
If
Not myReader.IsDBNull(9)
Then descriptif = myReader.GetString(9)
Else descriptif = ""
fk_fournisseur = myReader.GetInt32(4)
If
Not myReader.IsDBNull(5)
Then fk_generique = myReader.GetInt32(5)
Else fk_generique = 0
If
Not myReader.IsDBNull(6)
Then param1 = myReader.GetValue(6)
Else param1 = ""
If
Not myReader.IsDBNull(7)
Then param2 = myReader.GetValue(7)
Else param2 = ""
If
Not myReader.IsDBNull(10)
Then photo1 = myReader.GetString(10)
Else photo1 = "Aucune"
If
Not myReader.IsDBNull(11)
Then photo2 = myReader.GetValue(11)
Else photo2 = "Aucune"
If
Not myReader.IsDBNull(12)
Then paHT = myReader.GetDouble(12)
Else paHT = 0
If
Not myReader.IsDBNull(13)
Then pvHT = myReader.GetValue(13)
Else pvHT = 0
If
Not myReader.IsDBNull(14)
Then tva = myReader.GetValue(14)
Else tva = 0
If
Not myReader.IsDBNull(15)
Then remise = myReader.GetValue(15)
Else remise = ""
If
Not myReader.IsDBNull(18)
Then livraison = myReader.GetValue(18)
Else livraison = ""
If
Not myReader.IsDBNull(19)
Then garantie = myReader.GetValue(19)
Else garantie = ""
If
Not myReader.IsDBNull(20)
Then stock_limite = myReader.GetValue(20)
Else stock_limite = ""