cs_jeanny
Messages postés24Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention16 juin 2008
-
30 nov. 2007 à 21:50
cs_jeanny
Messages postés24Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention16 juin 2008
-
3 déc. 2007 à 11:19
lorsque j'execute ma page Asp avec le code ecrit en vb, il envoie un message d'erreur:
"Object reference not set to an instance of an object."
et l'erreur provient de "ObjetDataRow = objetDataSet.Tables("Client").NewRow()"
je signale que ma base est faite sur sql serveur
voici mon tout mon code
Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
' Déclaration Objet Connexion
Private ObjetConnection As SqlConnection
' Déclaration Objet Commande
Private ObjetCommand As SqlCommand
' Déclaration Objet DataAdapter
Dim ObjetDataAdapter As SqlDataAdapter
' Déclaration Objet DataSet
Private DataSet As New DataSet() 'Attention au New
'String contenant la 'Requête SQL'
Private strSql As String
' Déclaration Objet DataTable
' Private ObjetDataTable As SqlDatatable
'Déclaration Objet DataRow (ligne)
Private ObjetDataRow As DataRow
'Numéro de la ligne en cours
Private RowNumber As Integer 'Numéro de l'enregistrement courant
'Paramêtres de connexion à la DB
Private strConn As String
'Pour recompiler les données modifiées avant de les remettre dans le
'"DataAdapter"
Private ObjetCommandBuilder As SqlCommandBuilder
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objetDataSet As New DataSet()
Dim MyConnexion As SqlConnection = New SqlConnection("Data Source=DIRECT18\SQLEXPRESS;Initial Catalog=essai;Integrated Security=True;Pooling=False")
'("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind")
Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
Dim ObjetDataAdapter As New SqlDataAdapter("select * from Client", MyConnexion)
'remplissage du dataset
ObjetDataAdapter.Fill(objetDataSet)
'ajouter entree de l'utilisateur
ObjetDataRow = objetDataSet.Tables("Client").NewRow()
ObjetDataRow("cod_cli") = Me.cod_cli.Text
ObjetDataRow("nom_cli") = Me.nom_cli.Text
ObjetDataRow("adr_cli") = Me.adr_cli.Text
objetDataSet.Tables("Client").Rows.Add(ObjetDataRow)
'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New SqlCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(objetDataSet, "Client")
'On vide le DataSet et on le 'recharge' de nouveau.
objetDataSet.Clear()
ObjetDataAdapter.Fill(objetDataSet, "Client")
MyConnexion.Close()
MsgBox("Enregistrement validé")
End Sub
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
cs_jeanny
Messages postés24Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention16 juin 2008 3 déc. 2007 à 11:19
merci gregoire je viens de detecter l'erreur.Tu avais raison mon dataset ne contenait pas de table. merci pour tout.
Mais j'ai un autre problème au niveau de la mise à jour :
'Mise à jour
ObjetDataAdapter.Update(objetDataSet, "Client")
voici le msg : Violation of PRIMARY KEY constraint 'PK_Client'. Cannot insert duplicate key in object 'dbo.Client'.
The statement has been terminated.
Donc gerer cette erreur avec la commande try catch
merci
jeanny