trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
18 juil. 2005 à 16:26
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
19 juil. 2005 à 09:40
Bonjour,
J'ai un peu de mal avec ma requete sql pour se connecter via vb.net a access, ca ne doit pas etre bien compliqué, mais je ne vois pas.
Voici ma requete qui marche correctement :
Dim req = "INSERT INTO Couple ( [Nom couple], [Abscisse] ) VALUES ('" & nomCouple + "','" + abscisse + "')"
J'aimerais faire cette même requete d'enregistrement seulement si les enregistrements de ma base access ne possede pas deja des lignes nomCouple (clef primaire)
Pouvez vous m'aider? J'ai essayé avec la close where sans succes. Je ne sais pas si on peut utiliser where et value ensemble.
cs_hassen
Messages postés338Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention 4 novembre 2008 18 juil. 2005 à 16:38
tu n'a qu'a executer une requete avant l'insertion pour voir si le code existe déja ou pas
select * from couple where nomcouple='" & replace(NomCouple,"'","''") & "'"
si le nombre d'enregistrement retourné par cette sql (RecordCount) >0 alors tu affiche un message "le code saisie est déja existant"
si non tu fait ton insertion
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010 18 juil. 2005 à 17:13
Merci pour ta reponse, j'avais déjà pensé a ca mais je ne savais pas qu'on pouvait faire sql(recorcount)...ca se trouve dans quel objet?
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
Dim req1 =
"SELECT [Nom couple] from couple where [Nom couple]='" + nomCouple +
"'"
executionRequete(req1)'JE VAIS INSERER MON TEST ICI MAIS COMMENT UTILISER SQL(RECORDCOUNT)
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010 19 juil. 2005 à 09:40
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? 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()