Connexion a une base de données SQL compact 4.0
Bonjour a tous,
J'ai un petit problème, j'ai déjà programmé en vb.net cependant c'était il y a longtemps et je me souviens plus de tout.
Je voudrai juste exécuter une requête SQL pour écrire une ligne dans une bases de données SQL qui comporte une table avec 3 colonne: ID ,nom prenom.
J'utilise Visual studio 2012. J'ai une textbox nom et une textbox prenom et un bouton pour exécuter.
Voici mon programme :
Quand je clique sur le bouton
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Public Class Form1
Private Sub btn_save_Click(sender As Object, e As EventArgs) Handles btn_save.Click
Dim i As New Insert()
i.setName(Me.txtnom.Text)
i.setSurName(Me.txtprenom.Text)
Dim dbInsert As New DatabaseManagement()
dbInsert.insertData(i.getName(), i.getSurName(), i.getAge())
End Sub
End Class |
Dans ma classe DatabaseManagement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports System.Windows.Forms
Imports System.Data
Public Class DatabaseManagement
Private Function getConnectionString() As String
Dim builder As New SqlConnectionStringBuilder()
builder.DataSource = ".\SQLEXPRESS"
builder.AttachDBFilename = "C:\Users\Matthieu\Documents\Visual Studio 2012\Projects\WindowsApplication1\WindowsApplication1\bdd.sdf"""
builder.IntegratedSecurity = True
builder.ConnectTimeout = 30
builder.UserInstance = True
Return builder.ConnectionString
End Function
Public Sub insertData(name As String, surName As String, age As String)
Dim connection As New SqlConnection(getConnectionString())
Dim cmd As New SqlCommand("INSERT INTO table (Nom,Prenom) VALUES (@Nom,@Prenom)", connection)
Try
cmd.Parameters.AddWithValue("@Nom", name.ToUpper())
cmd.Parameters.AddWithValue("@Prenom", surName.ToUpper())
connection.Open()
cmd.ExecuteNonQuery()
connection.Close()
connection.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
connection.Close()
connection.Dispose()
Finally
connection.Close()
connection.Dispose()
End Try
End Sub
End Class |
La classe insert me sert juste a récupérer la valeur des deux textbox.
Mon programme me renvoi une erreur a la connexion de la base de données qui est le suivant :
An attempt to attach an auto-named database for file C:\Users\Matthieu\Documents\Visual Studio 2012\Projects\WindowsApplication1\WindowsApplication1\bdd.sdf" failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Je pense que je me connecte mal a la base de données.
En espérant une réponse de votre part. :D
Cordialement,
Matthieu