DataGrid et update pour un insert

i2c03a Messages postés 16 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 31 octobre 2005 - 3 mai 2005 à 17:26
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 4 mai 2005 à 12:04
J'essai de faire un insert dans une table à partir d'un update et d'un DataGrid. Ce code fonctionne pour un select mais lorsque je le lance pour un insert (je change dans les variables StrSelect par StrInsert) j'ai un message d'erreur:"
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll"
Je ne sais pas quoi faire, je n'ai rien trouvé sur intenet qui puisse m'aider.

Pouvez vous m'aider c'est urgent.

Merci

Voici le code:

Imports System.Data.OleDb


Public
Class Frm_Menu



Inherits System.Windows.Forms.Form



Dim MyConnection
As
New OleDbConnection



Dim MyDataAdapter
As
New OleDbDataAdapter



Dim MyDataSet
As
New DataSet("Data")



Dim custCB
As
New OleDbCommandBuilder(MyDataAdapter)



Dim MyDataTable
As
New DataTable



Dim StrSelect
As
String = "SELECT * from CLIENT"



Dim StrInsert
As
String = "INSERT INTO CLIENT (Login,Nom_Prenom,Num_Tel,Droits,Departement) VALUES ('to78975','Bebert Marc',24578,'Utilis','m84')"



Dim MyCommand
As OleDbCommand =
New OleDbCommand(StrInsert, MyConnection)



Private
Sub Frm_Menu_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



'Recherche User


Module1.GetLogon()


TextBox1.Text = Login






'Connection Base


MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=H:\Application_Catalogue\BD_Catalogue.mdb"



'Try


MyConnection.Open()


LoadData()


MyConnection.Close()



'Catch ex As Exception



'MessageBox.Show("Erreur de connection")



'End Try



End
Sub



Private
Sub LoadData()


MyDataAdapter.SelectCommand = MyCommand


MyDataAdapter.Fill(MyDataSet, "CLIENT")


MyDataAdapter.Update(MyDataSet, "CLIENT")


MyDataTable = MyDataSet.Tables("CLIENT")


DataGrid1.DataSource = MyDataSet



End
Sub


End
Class
A voir également:

7 réponses

cantonaifou Messages postés 9 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 1 juin 2005
3 mai 2005 à 17:57
Il faut renseigner le Update commande de l'objet MyDataAdapter




MyDataAdapter.UpdateCommand = MyCommand




De plus je ne vois pas ce que tu veux faire. Les update command sont utiles après modification les dataset.

Les dataset servent justement à avoir une copie de ta base en mémoire sans resté connecté à la base.



exemple de update



openConnection();

DataRow [] dr = ds.Tables[nomTable].Select("part_number='"+part_nb+"'");

dr[0]["PART_NUMBER"] = part_nb;

addapt.UpdateCommand = new OdbcCommand(sql, conn);

addapt.UpdateCommand.ExecuteNonQuery();


cantonaifou c'est pour la vie
0
i2c03a Messages postés 16 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 31 octobre 2005
3 mai 2005 à 18:22
En fait je veux juste pouvoir rajouter le StrInsert dans ma table, c'est tout. Du moins pour le moment. Est ce que tu vois comment je peux faire à partir de ce code. Ce code (en enlevant le update) fonctionne pour un select sur la table en question.

Merci
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
3 mai 2005 à 18:36
jette un oeuil a un de mes sources j'ai un exemple qui explique un peu tout ca...


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
i2c03a Messages postés 16 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 31 octobre 2005
3 mai 2005 à 18:46
La source c'est laquelle Arthenius?
est ce que tu sais si je peux me servir de mon code ou tout est à jeter?

Merci
0

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

Posez votre question
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
3 mai 2005 à 19:06
http://www.csharpfr.com/code.aspx?id=27738

jette un oeuil la dessus :o)


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
i2c03a Messages postés 16 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 31 octobre 2005
4 mai 2005 à 09:36
J'avais déja télécharger ce code qui est fort bien expliqué d'ailleurs.
Mon problème est que je fait mes requetes sur une base Access et ça diffère de SQL.
Sais tu d'où pourrait venir l'exception générée?

Merci
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
4 mai 2005 à 12:04
la seul difference c le nom des objets...
le principe reste le meme

sinon pour ton pb tu fait un update sur un dataadapter pas renseigne comme il faut...

tu devrais plutot fairte un MyCommand.ExcecuteNonQuery();

(si MyCommand contient bien ton insert...)


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous