ExecuteNonQuery : la propriété Connection n'a pas été initialisé
oussamacab
Messages postés
1
Statut
Membre
-
Kalissi Messages postés 221 Statut Membre -
Kalissi Messages postés 221 Statut Membre -
j'ai un petit ex a faire sous ASP.NET
j'ai crée 2 champs de saisie
id: textbox1
id:textbox2
un bouton pour faire l'ajout à la base
et un label pour le message de résultat
je fais la saisie de deux champs et en cliquant sur le bouton un message d'erreur dans le label : ExecuteNonQuery : la propriété Connection n'a pas été initialisé
j'attends vos aides et merci d'avance
j'ai crée 2 champs de saisie
id: textbox1
id:textbox2
un bouton pour faire l'ajout à la base
et un label pour le message de résultat
je fais la saisie de deux champs et en cliquant sur le bouton un message d'erreur dans le label : ExecuteNonQuery : la propriété Connection n'a pas été initialisé
j'attends vos aides et merci d'avance
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.Common.DbCommand
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim Connection As New System.Data.OleDb.OleDbConnection
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\bm\Documents\Visual Studio 2008\WebSites\tryy\dbase\try.mdb"
Dim req As SqlCommand = New SqlCommand("insert into req (name,age) values('" & TextBox1.Text & "', '" & TextBox2.Text & "')")
Connection.Open()
req.ExecuteNonQuery()
Connection.Close()
Label1.Text = "data saved"
TextBox1.Text = ""
TextBox2.Text = ""
Catch ex As Exception
Connection.Close()
Label1.Text = ex.Message
End Try
End Sub
End Class
2 réponses
-
Je crois que tu dois déclarer ta requête comme ceci :
dim req as new oledbCommand("insert into req (name,age) values('" & TextBox1.Text & "', '" & TextBox2.Text & "')",connection)
Aussi je pense que le nom de ta bdd "try.mdb" n'est bien choisi
---
-
re:
Oui, j'oublie souvent que les codeurs accèdent directement à la BD à partir d'un formulaire.
Pour ma part, dans mon travail, je n'ai pas le droit d'accéder à une BD à partir d'un formulaire,
je dois passer par une classe UAD (Unité d'Accès aux Données ) du genre :
Private Shadows zConnexion As New OleDb.OleDbConnection()
Private Property Connexion() As OleDb.OleDbConnection
Get
Try
If (Me.zConnexion Is Nothing) Then
zConnexion = New OleDb.OleDbConnection()
End If
Catch ex As Exception
End Try
Return Me.zConnexion
End Get
Set(ByVal value As OleDb.OleDbConnection)
Me.zConnexion = value
End Set
End Property
Public Sub New(ByVal pContexte As Type_Contexte)
MyBase.new()
Contexte = pContexte
Try
' Parametrage de la chaine de connection
Connexion.ConnectionString = "Provider=Microsoft.Jet.OleDB.4.0;" & "Data Source= " & Contexte.CheminBD & ";"
Connexion.Open()
Catch exZ As ZcException
StrTexte.AppendLine(ZcExceptionMsg.MSG500001)
StrTexte.AppendLine("Chemin de la BD : " & Chemin)
StrTexte.AppendLine("Constructeur VIDEO_SQL")
MessageBox.Show(StrTexte.ToString)
End Try
End Sub
Public Function Obtenir_Liste_Videos(ByVal Critere As Type_Criteres) As Type_Collection
Tracage.LigneTracage("Entree - VIDEO_SQL : Obtenir_Liste_Videos", Contexte)
Dim MonAdapteur As OleDb.OleDbDataAdapter = Nothing
Dim MonDataTable As DataTable = Nothing
Dim MonDataSet As New DataSet()
Dim DataRowLocal As DataRow
Dim MaCollection As New Type_Collection
Dim MonEntite As New Type_Entite
Dim ErrFat As ZcException = Nothing
Try
Dim reqSQL As String = Video_REQ.ObtenirSQL_Liste_Video(Critere)
MonAdapteur = New OleDbDataAdapter(reqSQL, Connexion)
MonAdapteur.Fill(MonDataSet, "TableVideo")
MonDataTable = MonDataSet.Tables("TableVideo")
For Each DataRowLocal In MonDataTable.Rows
MonEntite = CreerInstance(DataRowLocal, Contexte)
MaCollection.Add(MonEntite)
Next
Tracage.LigneTracage("Sortie - VIDEO_SQL : Obtenir_Liste_Videos", Contexte)
Catch ex As Exception
Tracage.LigneTracage("Erreur - VIDEO_SQL : Obtenir_Liste_Videos", Contexte)
Tracage.Chemin = Contexte.CheminLog
Tracage.Programme = "WinVidéo"
Tracage.Methodes = "Obtenir_Liste_Videos"
ErrFat = New ZcException(ex, Tracage.Methodes)
ErrFat.LeverException()
MaCollection = Nothing
Finally
Connexion.Close()
End Try
Return MaCollection
K
-
-
Bonjour,
Est-tu sur du chemin de ta BD ?
Imports System.Data.SqlClient Partial Class ConnexionBD Inherits System.Web.UI.Page Dim Connection As New System.Data.OleDb.OleDbConnection Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Var1 As String = String.Empty Dim Var2 As String = String.Empty Dim Var3 As String = String.Empty Dim CheminBD As String = "C:\Users\bm\Documents\Visual Studio 2008\WebSites\tryy\dbase\try.mdb" '...............tryy Try Connection.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CheminBD Dim req As SqlCommand = New SqlCommand("insert into req (name,age) values('" & Var2 & "', '" & Var3 & "')") Connection.Open() req.ExecuteNonQuery() Var1 = "data saved" Var2 = String.Empty Var3 = String.Empty Catch ex As Exception Var1 = ex.Message Finally Connection.Close() End Try End Sub End Class
K