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
Dans ma classe DatabaseManagement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
La classe insert me sert juste a récupérer la valeur des deux textbox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Cordialement,
Matthieu
Partager