[VB .NET 2005] Lire les données de SQL Server [Résolu/Fermé]

Signaler
-
 km -
Bonjour,

Je développe une me permettant d'ajouter, de supprimer et de rechercher des éléments dans une base de données SQL Server.

L'ajout des données est réalisé.

Par contre la recherche de données et leur affichage m'échappe.

Dans une interface graphique, je saisis par exemple un nom et je souhaite le rechercher dans la base de données pour afficher l'ensemble des colonnes correspondant à ce nom dans un DataGridView. Mon prob est que je n'arrive pas à aller récupérer les informations dans la base de données. Si quelqu'un sait comment faire, ça m'aiderait beaucoup.

Merci d'avance.

38 réponses


Prob résolu.
28
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60596 internautes nous ont dit merci ce mois-ci

> ahmedoes
voici une fonction qui vs permet de connecter à SQL2000 à partir de Vb net 2003

Public Sub get_valeur1(ByVal text As TextBox, ByVal dg As DataGrid, ByVal rq As String, ByVal con As String)
Dim connection As New SqlConnection
Dim mon_dataset As New DataSet
Dim mp, id As String
connection.ConnectionString = con
Dim mondata_adapter As New SqlDataAdapter(rq, con)
dg.AllowSorting = True
dg.ColumnHeadersVisible = True
dg.ReadOnly = True
Dim table_style As DataGridTableStyle
table_style = New DataGridTableStyle
table_style.MappingName = "mvtfabr"
mon_dataset.Clear()
text.Clear()
Try
mondata_adapter.Fill(mon_dataset, "mvtfabr")
Catch ex As Exception
MsgBox(ex.Message)
End Try
dg.TableStyles.Clear()
dg.TableStyles.Add(table_style)

Dim matable As DataTable
matable = mon_dataset.Tables("mvtfabr")
dg.DataSource = matable

Dim i As Integer
Dim x As Integer

x = mon_dataset.Tables.Count
Dim dr As DataRow



For Each dr In matable.Rows
Try
text.AppendText(dr(0)) ' & " " & vbCrLf)

Catch ex As Exception
MsgBox(ex.Message)
End Try
Next
End Sub
> ziados
salam Ziados
merci pour le code, comment se connecter sans function
metre le code dans module, car jai plusieur form a etre connecter
> hasna
priere d m envoyé le code j en ai besoin stp stp
> JmC97one
Salut, j;aimerai aussi avoir le code dans Vb sans la base de donnees Sql (ou mm avec si c possible)pour voir plus clairement comment tu t'y est pris,mon email est uyasmine@gmail.com. Merci beaucoup. Y
Messages postés
2
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
11 avril 2008

salut Angel
j un problem avec vb.net et sql 2005 comme celui que tu la eu avant je saisd sa fait leongtemps que tu as poser ton problem sur le forom mai je le consulter maint si tu peux m'aider reponds moi stp
merci
salut ,

Même pb avec la recherche sous vb.net et sql 2005, pourriez vous nous passer le code.

Merci d'avance
voilà mon code
Private Sub bt_search_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_search.Click
Dim recherche As String
recherche = InputBox("Veuillez saisir le nom du Patient ")
If Not recherche = String.Empty Then

On Error Resume Next
'definition de notre table
Dim Matable As DataTable
Matable = DS_cabinet.Tables("_tbPATIENT")

'cree un objet dataview pour filtrer les enregistrements
Dim filtre As New DataView(Matable)
filtre.RowFilter = "nom like '*" & recherche & "*'"

'affiche les valeurs
txt_id.Text = filtre.Item(0)(0)
txt_nom.Text = filtre.Item(0)(1)
txt_prenom.Text = filtre.Item(0)(2)
txt_s.Text = filtre.Item(0)(3)
txt_a.Text = filtre.Item(0)(4)
txt_p.Text = filtre.Item(0)(5)
txt_adr.Text = filtre.Item(0)(6)
txt_tel.Text = filtre.Item(0)(7)
txt_m.Text = filtre.Item(0)(8)

End If

End Sub
Bonjour,

Merc i bcp, mais moi je connais bien faire ce code là et voila comment !!

Dim Reader As OdbcDataReader
Reader = commande.ExecuteReader()
While Reader.Read()
Dim oo As String = ""
Dim i As Integer
For i = 0 To Reader.VisibleFieldCount - 1
oo += Reader(i).ToString + ""
Next
listbox1.Items.Add(oo)
End While


Et ça est deja executé sans aucun blem, jai pas de problemes avec laffichage , le seul souci c'est que je veux pas afficher les données dans une LISTBOX mais les affichées dans un DATAGRIDVIEW (les données dans un datagridview saffichent clairement), et je sais pas comment faire le code d'affichage pour le DATAGRIDVIEW !

SI tu le connais merci de me le dire !

Dsl pr le derangement !
sur Reader = commande.executeReader() j'ai un probleme avec commande ...
c'est normale ?
salut tt le monde ,
c la 1er fois que j 'essayé d utiliser sql server 2005 et vb.net (visual studio 2005),mes problèmes sans les suivants:
1) je ne sais pas comment je peux indiqué les relations entre les tables a partir de visual studio 2005 !
2) j arrive pas a établire la connection!!
merci de m aider!!
bj
Bonsoir,

Merci pour l'aide :d .
Messages postés
6
Date d'inscription
jeudi 12 juillet 2007
Statut
Membre
Dernière intervention
8 décembre 2007
2
Salut monde
Je realise une application vb.net qui gere une base de donneé sql server 2005 local (client/serveur sur meme machine)
SVP j'ai eu un probleme pour realiser la connexion et la manupilation (Insert, Update, ...)
Qui peut me donne les etape pour les realiser
mon Email est trabelsineji@yahoo.fr
salut,
svp est-ce que je peux avoire un exemple qui explique comment lire les donnees d'une base de donnee sql server a partire du vb en mode connecte
salut stp je pourrai avoir ton code pour l'accès aux données mon ad est leelou_tem@hotmail.com. merci d'avance^^

Bonjour,

Voici la réponse à ta question. J'ai utilisé un DataSet pour faire le lien entre mon programme et la base de données SQL Server, des BindingSources pour faire le lien avec les différentes tables et des TableAdapters pour lesquels j'ai créé des requêtes SQL.

Si tu veux je peux te passer mon code (il n'a rien de confidentiel et il n'a aucun brevet dessus ;) ) pour que tu puisses voir plus précisément. Mais pour cela, il faudra que tu me donnes un adresse mail (par MP) pour que je t'envoies le projet complet (sauf la base de données - mais je te donnerais les tables et champs à créer).
salut
sous quelle version de SQL server 2005 tu travail la standard !
Messages postés
365
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
23 septembre 2010
22
bonsoir,

s'il vous plait je voulais un code d'une base de donnée sql server crée sous le vb.net,

merci d'avance...

voila mon email: progfann@gmail.com

remerci...
svp g un projet ds l'sgbd avec le vb je c pa comment crée des tables d'un sql à l'aide d'un vb svp si vous avez la reponse aidez moi..merci
Messages postés
1
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
4 juillet 2007

Bonjour Angel59,
Pourrais-tu m'envoyer sur greg_3008@yahoo.fr ton projet par mail s'il te plait ?
Je cherche aussi à intéragir avec une base de données en vb2005.

Merci d'avance.
à bientôt.
Greg
Messages postés
37
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
7 décembre 2019
1
Bonjour,

J'ai un serveur sous sql 2005 server(auquel je ne connais presque rien, mais je suis un utilisateur avancé de Mysql et je connais bien le langage SQL). J'ai deux contraintes:

1. Sur ce serveur tournent plusieurs applications et BD et je veux être sûr de ne rien déranger en créant ma petite base de données à part de façon bien cloisonnée avec les autres syèstèmes.
2. Si j'ai choisi d'avoir recours à sql 2005 server, c'est bien pour pouvoir utiliser l'environnement de programmation et aussi les stored procedures.
3. Je ne connais pas par où commencer déjà pour crééer ma BD et mes tables que je connais bien et qui sont limitées, si quelqu'un peut me donner un bon tuto pour commencer ou un coup de pouce.



Merci infiniment.


Voilà le problème que j'ai évoqué sur plusieurs forums il y a plus d'un mois et qui est resté malheureusement sans réponse:

J'ai un problème que je ne suis pas arrivé à regler, et je serais vraiment reconnaissant si quelqu'un peut m'aider à y arriver: j'ai une table dont chaque enregistrement est ainsi constitué

désignation ,x,y ,z,t avec x,y,z et t des valeurs numériques et je voudrais pouvoir dire pour chaque ligne l'ordre décroissant des colonnes x, y, z et t

Voici un exemple de quelques valeurs extraites du tableau initial:

Valeur1 29.802 58.6891 22.144872 17.389612
Valeur2 59.469 117.3457 44.164955 34.746724
Valeur3 14.9148 29.3492 11.08262 8.699456
Valeur4 950.515 1875.7157 706.012579 555.422693
Valeur5 118.915 234.6812 88.317102 69.483248
Valeur6 7.5314 14.7284 5.5969 4.403528
Valeur7 1901.03 3751.4314 1412.025158 1110.845386
Valeur8 237.715 469.301 176.559313 138.905096
Valeur9 3.8397 7.418 2.85404 2.255564
Valeur10 475.315 938.5406 353.043735 277.748792
Valeur11 1.9704 3.7448 1.465266 1.163582
Valeur12 1.0427 1.9177 0.783776 0.627091


Et voici un exemple ce à quoi je voudrais arriver

Valeur1 1er 3ème 4ème 2ème
Valeur2 1er 3ème 2ème 4ème
Valeur3 2ème 3ème 4ème 1er
Valeur4 4ème 3ème 1er 2ème
Valeur5 1er 3ème 4ème 2ème
Valeur6 3ème 1er 4ème 2ème
Valeur7 2ème 3ème 4ème 1er
Valeur8 2ème 3ème 4ème 1er
Valeur9 4ème 3ème 1er 2ème
Valeur10 4ème 3ème 1er 2ème
Valeur11 1er 3ème 2ème 4ème
Valeur12 4ème 3ème 1er 2ème

1er, 2ème,3ème et 4ème sont par rapport au classement dans chaque ligne.

Merci infiniment de toute aide ou indication.
bonjour
1)pour la creation de la base de donnée et des tables, vous devez utilisé "Microsoft SQL Server Management Studio " qui est un outile trés simple qui facilite la creeation des bd (sql server 2005), la création des table et l établissement des defirente relation entre les table, alors il faut qu tu l instal .

voici un lien qui montre comment l installer et comment utilisé:
https://morpheus.developpez.com/sql-server-2005/

2) lors de l installation du sql server 2005 , vous devez faire attention et bien choisir un mode d authentification que vous allez utilisé pour se connecté au serveur , noté qu il ya deux mode: authentification windows ,et authentification sql server (ici avec un mot de passe ...) ,voici un lien qui parle de ça :
https://docs.microsoft.com/fr-fr/previous-versions/sql/sql-server-2005/ms143705(v=sql.90)?redirectedfrom=MSDN

bj
pour l exemple ,j ai rien compris , est ce que tu n as pas trempé dans l exemple!!!
Messages postés
37
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
7 décembre 2019
1
Merci beaucoup Adil de ta réponse qui m'aidera sans aucun doute.

Pour ce qui est de l'exemple imagine que tu as une table T:

T a la structure:

Valeur :string
coutA: float
coutB: float
coutC: float
coutD: float

Je vais peupler cette table avec quelques lignes:
=====================================
val1 | 1 |0.2|3|0.01|
val2 |0.1|0.1|1|0.02|
val3 |0.3|0.2|3|0.07|

val4 |1 |0.2|3|0.01|
val5 |1 |0.2|3|0.01|
val6 |1 |0.2|3|0.01|
val7 |1 |0.2|3|0.01|
val8 |1 |0.2|3|0.01|
val9 |1 |0.2|3|0.01|
....
valn |1 |0.2|3|0.01|

Considérons seulement les 3 premiers enregistrements correspondant à val1,2 et 3,

je voudrais qu'à la fin de ma requête afficher
val1 |3|2|4|1|
val2 |2|3|4|1|
val2 |3|2|4|1|



donc le n° d'ordre croissant de la valeur du champ car pour val1 :
le nombre réel 1 est le 3 ème en commençant du plus petit au plus grand au sein de cette même ligne
le nombre réel 0.02 est le 2 ème en commençant du plus petit au plus grand au sein de cette même ligne
le nombre réel 3 est le 4 ème en commençant du plus petit au plus grand au sein de cette même ligne
le nombre réel 0.01 est le 1 er en commençant du plus petit au plus grand au sein de cette même ligne

d'où le classement 3,2,4,1 au sein de cette ligne.

En d'autres termes je veux une procédure qui me garantisse que le tri se fera au niveau de chaque ligne.

Merci infiniment.
Bonjour,

Ca peut etre fait avec une requete sql du type :

select Valeur,
case when CoutA > CoutB then 1 else 0 end +
case when CoutA > CoutC then 1 else 0 end +
case when CoutA > CoutD then 1 else 0 end + 1 as ClassementA,

case when CoutB > CoutA then 1 else 0 end +
case when CoutB > CoutC then 1 else 0 end +
case when CoutB > CoutD then 1 else 0 end + 1 as ClassementB,

case when CoutC > CoutA then 1 else 0 end +
case when CoutC > CoutB then 1 else 0 end +
case when CoutC > CoutD then 1 else 0 end + 1 as ClassementC,

case when CoutD > CoutA then 1 else 0 end +
case when CoutD > CoutB then 1 else 0 end +
case when CoutD > CoutC then 1 else 0 end + 1 as ClassementD
from Table

cdlt
PaF
Messages postés
37
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
7 décembre 2019
1

ReBonjour à tous
J'ai seulement entendu parler des procédures stockées et quelqu'un m'a dit qu'elles pourraient être mon sauveur et je veux bien le crooire et m'y mettre

Merci Adill, merci à tous!
salam
je m 'excuse pr le retard ,mais je me suis pas connécté ces derniers jours
code a testé en Vb.NET

'declaration des variable de connexion
Private nom_connexion As New SqlConnection
Private cmd As New SqlCommand()
Public myReader As SqlDataReader

' inicialisation de la chaine de connexion dans le cas d une authentification windows
nom_connexion.ConnectionString = "server=nom_du_serverur;"& _
"database=nom_de_la_base;"& _
"Persist Security Info=false;" & _
"Integrated Security=SSPI;"
' inicialisation de la chaine de connexion dans le cas d une authentification sql server
nom_connexion.ConnectionString = "server=nom_du_serverur;"& _
'"database=nom_de_la_base;"&
'"Persist Security Info=True;" & _
'"User ID=sa;" & _ 'sa ou un autre login!!
'"Password=mot_de_passe;"
' ouverture de la connexion

nom_connexion.Open()
'initialisation de la commande

cmd.Connection = nom_connexion


i=1
Do While i <> nbr_totale_de_lign
str_ma_requette="SELEC Valeur,CoutA,CoutB,CoutC,CoutD From Ma_Table WHERE " & _
" valeur = Val"& i.toString
cmd.CommandText = str_ma_requette
myReader = cmd.ExecuteReader()
if(myReader.Read)
Ma_Procedure_De_Tri(i,myReader.GetValue(1).toString,myReader.GetValue(2).toString,myReader.GetValue(3).toString,myReader.GetValue(4).toString)

myReader.Close()

i = i + 1
Loop

'la fonction Ma_Procedure_De_Tri

Sub Procedur Ma_Procedure_De_Tri(ByVal i as int,ByVal ValA as String,ByVal ValB as String,ByVal ValC as String,ByVal ValD as String)
'cette procedure doit stocké les 4 valeur dans une table :T
' effectué le trie de cette table (il ya +ieur méthode de trie !)
'les resultat de l ordre doit etre stocké dans une autre table :Table_resultat :
'si valA = T[k] alors tu dois Table_resultat[0]=k & eme
'et si ValB =T[m] alors tu Tab_Resultat[1]=m et ansi de suite ....
'puis tu inser ces valeurs dans ta base de donné apr le code suivant

str_ma_requette="INSERT into Ma_Table(CoutA,CoutB,CoutC,CoutD ) Value" & _
Table_resultat[0] & "," & Table_resultat[1] & "," & Table_resultat[2] & "," & Table_resultat[3] & _
"WHERE Valeur =val" &
" valeur = Val"& i.toString
cmd.CommandText = str_ma_requette
myReader = cmd.ExecuteReader()

RQ: j ai pas tester ce code mais j espère qu il t aide un peut



END Sub
bonjour j'ai un probléme j'ai un datagridview vide je veux le code comment faire pour que mon data grid affiche les donne d'une table cree sur sql 7.et vb.2005
merci
bjr !
Je voudrais savoir comment puis-je faire pour faire un login et mot de passe dans mon application vb.net qui compte sur la lecture des données sql server svp c urgent .
Merci d'avance
Messages postés
1
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 octobre 2007

Bjr !
Svp puis-je savoir le code pr faire un login et mot de passe de mon application vb.net ki lit des données apartir d'une base de données SQl
server !

merci d'avance
salam salima,
voici une classe de connexion que tu peut l'utilisée directement:

Public Class ClasseConnexion

Private nom_connexion As New SqlConnection
Private cmd As New SqlCommand()
Public myReader As SqlDataReader
Sub New()
'Connexion sans mot de passe
' nom_connexion.ConnectionString = "server=nomduserveur\SQLEXPRESS;" & _
' "database=nomdeBD;" & _
' "Persist Security Info=false;" & _
' "Integrated Security=SSPI;"

'Connexion avec mot de passe
nom_connexion.ConnectionString = "server=nomduserveur\SQLEXPRESS;" & _
"database=nomdeBD;" & _
"Persist Security Info=True;" & _
"User ID=sa;" & _
"Password=motdepasse;"

End Sub


Public Sub Ouverture()
nom_connexion.Open()
cmd.Connection = nom_connexion
End Sub


Public Sub Fermetur()
nom_connexion.Close()
End Sub


Public Sub Requette(ByVal str_ma_requette As String)
Dim Resultat As New String("")
cmd.CommandText = str_ma_requette
myReader = cmd.ExecuteReader()
End Sub



End Class


et oici un exemle d'utilisation de cette classe:

Private MaConnexion As New ClasseConnexion
MaConnexion.Ouverture()
StrRequette = "SELECT meschamps FROM matable
MaConnexion.Requette(StrRequette)

while (MaConnexion.myReader.Read) Then
ListResultat = MaConnexion.myReader.GetString(LIndexduChampsqueTuVeux) 'ou getint ou .....
'traitement
endwhile
MaConnexion.myReader.Close()
'j ai passé bcp de tmps afin de savoir comment créeer et utilisé la classe connexion!!!!'

bonne réception et je serai tjr a votre disposition
Bonsoir ,

Merci beaucoup AdIL

On ma parlé de Procedure Stoquée k'il est trés important ...J'aimerai bien savoir de quoi il s'agit avec un exemple si c' possible bien sur !

Un special Merci d'avance :)
Bonjour salima,

je te donne mon code avec vb.net
il faut céer une procedure stockée avec parametre avec sql server et lui donnée un nom ex enca
'==========procedure stockée avec parametre ==============

Dim param As New SqlClient.SqlParameter("@cp", SqlDbType.NChar, 10)
cmd.Connection = conx

' type de la commande
cmd.CommandType = CommandType.StoredProcedure

' nom de la procedure stockée
cmd.CommandText = "encan.delcp"

param.Value = InputBox("le code produit")
cmd.Parameters.Add(param)
cmd.ExecuteNonQuery()
cmd.Connection.Close()

j'éspére que ca t'aidera. Ramdane
> ramdane
Bonjour ;
je travail avec VB net 2003 et SQl server 2000 , mais je veut travailler avec vb net 2005 mais j'ai quelque problemes de connexion et d'extraction des donneé puisque avec vb net 2003 j'utilise une datagrid pour selectionner , mettre à jour et ajouter des donneés dans ma base mais avec 2005 j'ai essayer d'utiliser un datagridview et j'ai trouver pas mal de difference qui m'enpaiche de continuer ( je peut vs donner la fonction que j'utilise avec vb net 2003)
Enfin, Merci d'avance a votre aide
> ziados
slt
merci ziados pour le code tu peut m'envoyer le code du modification et la recherche dans une bd sql server
merci d'avance
Bonjour,
je veux just un simple code qui me permet d'afficher le contenu d'une table sql en utilisant l'odbc dans une application vb.net