Comment se connecter a une bd sql server2008 avec " & App.Path & "

touguizaka - 27 déc. 2012 à 11:21
cs_lukas1 Messages postés 5 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 31 décembre 2012 - 31 déc. 2012 à 10:37
Bonjour,
je veux savoir comment faire pour se connecter à une base de données sql server 2008 qui existe dans le dossier du projet?

dans vb6 lorsqu’on veux se connecter à une bd access on utilise

data source=" & App.Path & "\bd.mdb"


est ce qu'on peux utiliser la même chose avec sql server 2008? :D
Merci.
A voir également:

8 réponses

cs_lukas1 Messages postés 5 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 31 décembre 2012
27 déc. 2012 à 12:44
Bonjour,
Avec la petit experience que j'ai. il faut d'abord avec un moteur (instance de sgbd sqlserveur) puis créé un module de connexion biensur avec vb.net

tu définir la chaine de connexion entre l'instance et ton projet voilà comment sa ce présente.

Imports System.Data.SqlClient
Module Connexion
Public connex As SqlConnection = New SqlConnection("Data Source=lukas-Pc;Initial Catalog=ECHOTEST;Integrated Security=True")

Public da As SqlDataAdapter
Public ds As DataSet
Public cmd As SqlCommand
Public cmdb As SqlCommandBuilder

End Module

voila un peu ce que tu dois declaré au prealable.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 déc. 2012 à 13:58
Salut

Dans l'exemple que tu donnes, touguizaka,
data source= " & App.Path & "\bd.mdb"
deux choses me chagrinent :

" data source=... "
Écrit comme ça, à quel langage cela se réfère t-il ?
data source, séparé par un espace, ce n'est pas du VB

"... & "\bd.mdb""
Utiliser SQL Server pour ouvrir une base de données Access (mdb) n'est pas top (je ne sais même pas si c'est faisable). Mieux vaudrait utiliser ADO.Net

Alors explique mieux ton problème.
Précise ton environnement.
Montre les quelques lignes que tu as essayées pour tenter la connexion.

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_lukas1 Messages postés 5 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 31 décembre 2012
28 déc. 2012 à 14:24
Merci Jack pour ton éclaircissement. mais moi j'essaie de lui expliquer a partir d'une connexion sqlserveur et non access.

comme vous je souhaite un jour devenir MVP pour l'instant je ne suis que un MSP

encore une merci pour vos lumière.
0
Merci pour vos repenses.
j'utilise vb.net et je me connecte avec les base de données sql server 2008 avec ce code :

Imports System.Data.SqlClient

Public Class Form1
    Dim cnx As New SqlClient.SqlConnection("Server=.\SQLExpress;AttachDbFilename=C:\zaka\WindowsApplication1\WindowsApplication1\bd1.mdf;Database=bd1;Trusted_Connection=Yes;")
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim mastr As String = "select * from client"
        Dim cmd As New SqlClient.SqlCommand(mastr, cnx)
        Dim dr As SqlClient.SqlDataReader
        cnx.Open()
        cmd.CommandType = CommandType.Text
        dr = cmd.ExecuteReader
        Dim tbl As New DataTable
        tbl.Load(dr)
        DataGridView1.DataSource = tbl
        dr.Close()
        cnx.Close()
    End Sub
End Class


lukas1 ce que je veux c'est changer le chemin de la base de données pour qu’il soit accessible a partir de n’importe qu'il disque, par exemple si je change le dossier de mon projet sur le disque local D:\ ou bien sur mon clés USB le programme va trouver une erreur, car le chemin et incorrect j’espère bien que t'as bien compris mon problème et de me trouvez une solution.
Merci une autre fois pour votre réponse.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mon dernier Message et adressé à jack
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 déc. 2012 à 03:42
Oui, donc un fichier "mdf" et pas "mdb"

Le code que tu nous montre fonctionne t-il ?
Il faut commencer par le faire fonctionner.

Ok, mais qu'as-tu essayé ?
Tu sembles avoir tous les éléments en ta possession pour résoudre le problème.
Que dirais-tu de ça :
Dim sFolder As String = Application.ExecutablePath
Dim lPos As Short = sFolder.LastIndexOf("")
sFolder = sFolder.Substring(0, lPos)
Dim cnx As New SqlClient.SqlConnection("Server=.\SQLExpress;" & _
             "AttachDbFilename=" & sFolder & "\bd1.mdf;" & _
             "Database=bd1;Trusted_Connection=Yes;")

Malgré tout, je te déconseille de placer ta base au même endroit que ton exécutable.
Il vaudrait mieux la placer dans
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
0
Merci pour votre repense je suis débutant, c'est pour ce la que j'ai pas compris tout votre code :D mais en tout cas Merci pour votre repense.
j’essaie d'apprendre vb.net a partir d'internet sans prof sans encadrant, peux tu me données des conseils a suivre ou bien quelque chose qui vas m'aider.
Merci jack
0
cs_lukas1 Messages postés 5 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 31 décembre 2012
31 déc. 2012 à 10:37
Vue que ce les début si tu essaie d’utilisé la Base des données Access tu n'aura pas trop de problème car tu n’aura qu'a placé ta BDD dans le fichier Bin puis faire ce qui va suivre :
Créé un module : ou tu va placé ces petits codes :
Imports System.Data.OleDb

Module Module1
Public ObjetConnection As OleDbConnection
' Déclaration Objet Commande
Public ObjetCommand As OleDbCommand
' Déclaration Objet DataAdapter
Public ObjetDataAdapter, dataARec As OleDbDataAdapter
' Déclaration Objet DataSet
Public ObjetDataSet As New DataSet()
'String contenant la 'Requête SQL'
Public strSql As String
' Déclaration Objet DataTable
Public ObjetDataTable As DataTable
' Déclaration Objet DataRow (ligne)
Public ObjetDataRow As DataRow
'Numéro de la ligne en cours
Public RowNumber As Integer
'Paramêtres de connexion à la DB
Public strConn As String
'Pour recompiler les données modifiées avant de les remettre dans le
'"DataAdapter"
Public ObjetCommandBuilder As OleDbCommandBuilder
Public position As Int32
Public Sub ouvert()
Try
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= D:\Gestion_des_Malades.mdb;"
'Initialisation de la chaîne contenant l'instruction SQL
strSql = "SELECT * FROM Malade order by numfiche"
'Instanciation d'un Objet Connexion
ObjetConnection = New OleDbConnection()
'Donner à la propriété ConnectionString les paramètres de connexion()
ObjetConnection.ConnectionString = strConn
'Ouvrir la connexion
ObjetConnection.Open()
'Instancer un objet Commande
ObjetCommand = New OleDbCommand(strSql)
'Instancer un objet Adapter
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
'initialiser l'objet Command
ObjetCommand.Connection() = ObjetConnection
'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet()
ObjetDataAdapter.Fill(ObjetDataSet, "Malade")
'Mettre dans un Objet DataTable une table du DataSet
ObjetDataTable = ObjetDataSet.Tables("Malade")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

End Module



En suite tu commence à code tes différents

la pour le bouton Enregistrer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Call ouvert()
ObjetDataRow = ObjetDataSet.Tables("Malade").NewRow()
ObjetDataRow(0) = Me.NumficheTextBox.Text
ObjetDataRow(1) = Me.NommaladeTextBox.Text
ObjetDataRow(2) = Me.CodsexComboBox.Text
ObjetDataRow(3) = Me.DateTimePicker1.Value
ObjetDataRow(4) = Me.PoidsTextBox.Text
ObjetDataRow(5) = Me.MedetraitTextBox.Text
ObjetDataSet.Tables("Malade").Rows.Add(ObjetDataRow)
'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "Malade")
'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Malade")
ObjetDataTable = ObjetDataSet.Tables("Malade")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub


Vue que tu es au début commence avec Vb.net et Access et verra comment évolue

*Merci.
0
Rejoignez-nous