begin process at 2012 02 16 01:23:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

SQL

 > 

Comment effectuer une recherche dans une base


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment effectuer une recherche dans une base

lundi 2 février 2009 à 20:37:27 | Comment effectuer une recherche dans une base

PHILOUVB

Bonsoir

J'aimerais savoir comment effecuter une recherche dans une base de données avec VB2008.

J'ai une base de données qui s'appelle Prénom.mdb
la table s'appelle TablePrénom et je veux vérifier qu'un prénom existe ou non dans ma zone "Prenom"

Comme je n'y connais absolument rien, j'aimerais savoir quelles instructions vont me permettre d'effectuer cette recherche.

Merci

PhilouVB

mardi 3 février 2009 à 16:57:02 | Re : Comment effectuer une recherche dans une base

GarnierFlorian

Réponse acceptée !
Salut,
Et bien je ne sais pas si j'ai tout à fait saisi ce que tu veux, mais je peux peut-être t'aider:
si tu souhaite consulter ta base de données à partir de ton programme, il te faut faire une requète SQL que tu insère avec le code suivant :


'Déclarations des variables
Public g_connexion As System.Data.OleDb.OleDbConnection
Public g_cmd_requete As OleDbCommand
'Dabord il faut que tu te connectes à la base de données
g_connexion = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;datasource=..\Prénom.mdb;")
'Si la connexion à la base de données n'est pas ouverte :
            If g_connexion.State <> ConnectionState.Open Then g_connexion.Open()
'Recherche si le prénom existe
            g_cmd_requete = New OleDb.OleDbCommand("SELECT prenom FROM TablePrenom Where prenom = '" & tonTextBox.Text & "' ", g_connexion)
'Pour récupérer le résultat
Dim str_prenom As String = CStr(g_cmd_requete.ExecuteScalar)
'Ensuite tu fais ton petit test pour renvoyer un message
If str_prenom = tonTextBox.Text then
       MessageBox.Show("Le prénom existe déjà.", "Mot de Passe existant.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
       MessageBox.Show("Le prénom n'existe pas.", "Mot de Passe inexistant.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

Bien évidemment, tu peux renommer à ta guise les variables g_connexion, g_cmd_requete et str_prenom.
De plus, "tonTextBox" correspond au textbox de ton application, celui où se trouve le prénom que tu souhaites vérifier dans la base de données.

J'espère t'être utile, et si jamais je ne réponds pas à ta question, reformule bien ce que tu veux et je verrais ce que je peux faire !
Peace
 
mardi 3 février 2009 à 17:39:27 | Re : Comment effectuer une recherche dans une base

PHILOUVB

Réponse acceptée !
Bonjour et tout d'abord merci

Je teste cela dans la semaine, et je te tiens au courant, mais je pense effectivement que cela va m'aider fortement

PhilouVB
mardi 3 février 2009 à 20:09:43 | Re : Comment effectuer une recherche dans une base

PHILOUVB

Réponse acceptée !
J'ai pas pu attendre, je viens de tester, à ça marche à la perfection.

J'ai ainsi découvert une instruction (ExecuteScalar) et grace à ton exemple très clair, j'ai pu comprendre le mecanisme.

Je te remercie beaucoup.
Si tu repasses sur ce thème, on risque de se retrouver car je pense que j'aurais encore des questions sur le sujet

A très bientot
mardi 3 février 2009 à 20:28:32 | Re : Comment effectuer une recherche dans une base

ghuysmans99

Membre Club
Réponse acceptée !
Vive l'injection !!
N'oublie pas de te faire une petite fonction pour "purifier" les chaines passées en SQL :

Function Pure(S as String) As String
  Pure = Replace(S,"'","''")
End Function
http://img404.imageshack.us/img404/7166/signaturegf4.gif
mardi 3 février 2009 à 21:31:07 | Re : Comment effectuer une recherche dans une base

PHILOUVB

Réponse acceptée !
A quoi cela sert-il ?

A vider des zones, des valeurs ?

mercredi 4 février 2009 à 10:06:37 | Re : Comment effectuer une recherche dans une base

GarnierFlorian

Réponse acceptée !
De rien PHILOUVB, tant mieux que tu  t'en sois sorti et que çà est pu t'aider !! Si tu a d'autres questions n'hésitent pas, mais par contre je ne peux t'aider pour l'injection, car j'ai a peut prêt compris mais ghuysmans99 te l'expliqueras surement bien mieux ! A plus tard.
Peace

 
mercredi 4 février 2009 à 22:40:54 | Re : Comment effectuer une recherche dans une base

ghuysmans99

Membre Club
Réponse acceptée !
Non, à éviter qu'un (pas gentil) hacker 'forge' le query.
Par exemple, transformeSELECT * FROM Users WHERE UserName='admin' AND PassWord='bonjour';
EnSELECT * FROM Users WHERE UserName='admin' AND PassWord='' or 'a'='a';
http://img404.imageshack.us/img404/7166/signaturegf4.gif
lundi 9 février 2009 à 12:24:47 | Re : Comment effectuer une recherche dans une base

PHILOUVB

Réponse acceptée !
Bonjour Concernant ta dernière réponse, peux-tu m'en dire un peu plus sur Password='' or 'a' = 'a'; En quoi cela protègera mieux ma base ? Merci PS : grace à toute votre aide, j'ai réussi à modifier, supprimer les élements dans une base. J'ai un peu tatonné, mais j'y suis arrivé !!
lundi 9 février 2009 à 22:24:34 | Re : Comment effectuer une recherche dans une base

ghuysmans99

Membre Club
Réponse acceptée !
Attends, je change la couleur.
SELECT * FROM Users WHERE UserName='admin' AND PassWord=''or 'a'='a';

Le texte en rose c'est le contenu d'un champ.
Le texte en noir c'est ta requête SQL.

Ici, si tu relis le SQL modifié, tu vois clairement que la condition est changée : il va filtrer sur
UserName = 'admin' et [ PassWord='' OU 'a'='a'].
Evidemment, vu que 'a'='a' il va annuler la 2e condition. Ce qui fait qu'il va prendre l'utilisateur nommé 'admin'
http://img404.imageshack.us/img404/7166/signaturegf4.gif

1 2

Cette discussion est classée dans : base, données, recherche, appelle, effectuer


Répondre à ce message

Sujets en rapport avec ce message

Création d'une base de données [ par guilleto ] Bonjour à toutes et tous, J'ai cherché sur le site et je n'ai pas trouvé ce qui me pose problème. J'ai un certains nombre de BdD dans lesquelles je v base de données [ par kwed ] bonjour à tous,Je voudrais ajouter un module de recherche sur une base de données gérée par un objet msflexgrid...En fait j'ai réussi à ressortir du t Recherche dans une base de données [ par Hattem ] J'ai crée une base de données eleve à l'aide de l'ACCESS dans laquelle il y a deux tables : Table identification indexé sur le matricule et une table a l'aide!!! je recherche une base de données des villes et codes postaux en France [ par jess ] Petits étudiants, nous désirons récupérer une base de données access fonctionnant en ASP qui permette de trouver à partir d'un nom de ville le code po Recherche dans une base de données [ par }{aNsO| ] J'aimerais faire une recherche à l'aide de vb6, dans une base de données... Pouvez-vous m'aider ADO - Rechercher une données dans ma base en Access [ par anspauldou ] Salutje voudrai un exemple de code qui me permettrai d'effectuer une recherche dans ma base de donnée par l'ADO. La recherche devant se faire sur un c Recherche dans une base de données [ par }{aNsO| ] Je veux rechercher une données (le nom d'une personne) dans une table de ma base de données... et si le nom correspond à celui que je veux je dois écr recherche d'un enregistrement dans une base de données [ par aLzaAn ] En fait... :A partir d'un bouton sur vb, je souhaiterais afficher les enregistrements d'un champs en tapant simplement les 2 premiéres lettres...Est-c recherche dans une base de données [ par claustro ] bonjour, je suis en train de developpé un application pour cela il faut que je fasse une base de données utiisateur avec leur mot de passe . ¿comment Recherche base données [ par flohand ] Salut a tous voila mon petit problème , je dévellope un petit programme de facturation/gestion commerciale.Dans le cadre de ce projet j'utilise une ta


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales