trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
19 juil. 2005 à 10:23
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
20 juil. 2005 à 12:01
Bonjour,
voila j'ai écris mon code mais je n'arrive pas a recupérer le nombre de ligne. Pourtant la methode ExecuteNonQuery devrait renvoyer un integer sur le nombre d'enregistrement? Ca ne doit pas être la bonne solution car la premiere méthode ExecuteNonQuery lors du premier test renvoie une erreure qd elle trouve des doublons (et ne renvoie pas le nombre de ligne..normal!). Il doit y avoir une solution toute bête mais je suis néophite en SQL.
Voilà mon code si quelqu'un a le temps de jeter un coup d'oeil.
'"""""""""""""""""""""""""""""""""""""""""
'Bouton OK
'"""""""""""""""""""""""""""""""""""""""""
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
'""""""""""""""""""
'Bon
'""""""""""""""""""
Dim i As Integer
Dim nomCouple As String
Dim abscisse As String
For i = 0 To DataGridView1.Rows.Count - 2
nomCouple = DataGridView1.Item(0, i).Value
abscisse = DataGridView1.Item(1, i).Value
Dim req1 = "SELECT [Nom couple] from couple where [Nom couple]='" + nomCouple + "'"
Dim value = executionRequete(req1)
cnx.Close()
If value > 0 Then 'test pour savoir si des lignes existes déjà
executionRequete(req)
cnx.Close()
End If '""""""""""""""""""
Next i
End Sub
Private Function executionRequete(ByVal req As String) As Integer
cnx.Open()
' Dim myCommand = New OleDbCommand(req, cnx)
' myCommand.ExecuteNonQuery()
Dim myCommand As OleDbCommand
myCommand = New OleDbCommand
myCommand.CommandText = req
myCommand.Connection = cnx
'myCommand.ExecuteNonQuery()
Return myCommand.ExecuteNonQuery
cnx.Close()
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 19 juil. 2005 à 14:14
salut
commence par simple
Try
Dim req1 As String = "SELECT count(*) from matable"
OleDbConnection.Open()
Dim
oledbcommand As OleDb.OleDbCommand = New OleDb.OleDbCommand()
oledbcommand.CommandText = req1
oledbcommand.Connection = OleDbConnection
Dim nb As Int16 = CType(oledbcommand.ExecuteScalar(), Int16)
OleDbConnection.Close()
Catch ex As Exception
End Try
Methode deux retour d'un select
(dr.GetValue(0).ToString) est a bannir au niveau perf c'est peut etre bon mais au niveau conprehension c'est pas le top ;-)
accede directement au champs par leurs clefs si tu veux que ton code
soit maintenable ou par ordre si tu veux de la performance. Atention
l'ordre des colonnes colonnes peuxc evoluée ?
Dim req1 As String = "SELECT * from matable"
Dim dr As OleDb.OleDbDataReader
OleDbConnection.Open()
Dim
oledbcommand As OleDb.OleDbCommand = New OleDb.OleDbCommand()
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010 20 juil. 2005 à 12:01
Voilà j'arrive a la fin de mon bouton grace a votre aide. J'ai encore une petite question pour la requete delete. Avez vous une methode pour rechercher rapidement dans mon datagrid (au lieu de faire une recherche ligne/ligne)?
voici mon code (il n'y a pas encore la recherche sur le datagrid), je suis preneur d'amélioration ;-)
'"""""""""""""""""""""""""""""""""""""""""
'Bouton OK
'"""""""""""""""""""""""""""""""""""""""""
Private
Sub Button6_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button6.Click
Dim i
As
Integer
Dim nomCouple
As
String
Dim abscisse
As
String
For i = 0
To DataGridView1.Rows.Count - 2
nomCouple = DataGridView1.Item(0, i).Value
abscisse = DataGridView1.Item(1, i).Value
cnx.Open()
Dim req
As
String =
"SELECT count(*) from Couple where [Nom couple]='" + nomCouple +
"'"
Dim oledbcommand
As OleDb.OleDbCommand =
New OleDb.OleDbCommand()
oledbcommand.CommandText = req
oledbcommand.Connection = cnx
Dim nb
As Int32 =
CType(oledbcommand.ExecuteScalar(), Int32)