begin process at 2010 02 10 09:17:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

pb de mise a jour de base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb de mise a jour de base de donnée

mardi 3 août 2004 à 11:07:08 | pb de mise a jour de base de donnée

shinevilkyo

mon pb ce que je veux faire une mise a jour de ma base mias j ai une erreur ds le code ja i beau essayer je ne trouve pas.
je sais juste que l erreur ce trouve au moment ou je rempli ma dataset mais je ne comprend pas pkoi.

OleDbDataAdapter catDA = new OleDbDataAdapter("SELECT ack_level4_status, maj_date, maj_userid, pk_societe FROM pli", conn);



catDA.UpdateCommand = new OleDbCommand("UPDATE pli SET ack_level4_status = 1" +
"WHERE non_fichier_pdf = " + pli.Tables["pliss"].Rows[0][5].ToString() , conn);

catDA.UpdateCommand.Parameters.Add("@ack_level4_status", OleDbType.VarChar, 15, "ack_level4_status");

OleDbParameter workParm = catDA.UpdateCommand.Parameters.Add("@pk_societe", OleDbType.Integer);
workParm.SourceColumn = "pk_societe";
workParm.SourceVersion = DataRowVersion.Original;

DataSet catDS = new DataSet();
catDA.Fill(catDS, "pliss");
//
// DataRow cRow = catDS.Tables["pli"].Rows[0];
// cRow["ack_level4_status"] = "1";
// catDA.Update(catDS);
mardi 3 août 2004 à 12:04:22 | Re : pb de mise a jour de base de donnée

Arthenius

Membre Club
pour remplir ton data set ce code devrait suffir :


try
{
OleDbDataAdapter catDA = new OleDbDataAdapter("SELECT ack_level4_status, maj_date, maj_userid, pk_societe FROM pli", conn);
DataSet catDS = new DataSet();
catDA.Fill(catDS, "pliss");
}
catch(Exception xcp)
{
MessageBox.Show(xcp.Message.ToString());
}


a condition que ton objet conn existe bien...

sinon c quoi ton message d'erreur ???

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
mardi 3 août 2004 à 12:15:39 | Re : pb de mise a jour de base de donnée

shinevilkyo

le pb c pas de remplir une dtaset sa je le sais j en est deja rempli deux autre ds mon code enfaite lorsque j arrive au moment ou je doit faire l update de ma base j essai de le faire par l intermediaire d une autre dataset donc je pense que j ai une erreur ds mon code au niveau de la maniere que j update.

si tu ne vois pas l erreur sur mon code aurrais tu au moins un exemple de comment updater une base de donner access que se soit de maniere indirect ou direct sur la base.
mardi 3 août 2004 à 13:52:47 | Re : pb de mise a jour de base de donnée

Arthenius

Membre Club
Voila comment définir un parametre sur une commande et l'affecter a ton dataadapter :


OleDbCommand UpdateCmd = new OleDbCommand("UPDATE pli SET ack_level4_status = 1 WHERE non_fichier_pdf = @NOM_FICHIER" , conn);
int Taille_du_champ = 10;

OleDbParameter nom_fichier = new OleDbParameter("@NOM_FICHIER", System.Data.OleDb.OleDbType.VarChar,Taille_du_champ, "pk_societe");

UpdateCmd.Parameters.Add(nom_fichier);

catDA.UpdateCommand = UpdateCmd ;



pour que la methode update du dataadapter fonctionne bien il faut aussi implementer les InserCommand et DeleteCommand de ton dataadapter (idem a ton UpdateCmd mais avec des parametre différent et requete differente...

apres une fois tout cela fait du peu lancer l'update sur ton dataset...

par contre tu dis que tes modifs sont stocker dans un autre dataset ????

le mieux c'est de charger ton dataset..modifier les données de ce dataset et lancer un update sur le même dataset...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
mardi 3 août 2004 à 14:18:43 | Re : pb de mise a jour de base de donnée

shinevilkyo

je suis obliger des crée des parametre insert et delete pour pouvoir faire un update je comprend pas trop pourquoi.
mardi 3 août 2004 à 14:21:22 | Re : pb de mise a jour de base de donnée

shinevilkyo

car je veux juste changer une valeur existante
mardi 3 août 2004 à 14:23:53 | Re : pb de mise a jour de base de donnée

Arthenius

Membre Club
bah si c juste pour faire un update alors oui ca devrait suffir mais si jamais tu fais un delete dans ton dataset et que le DeleteCommand est pas rempli.....gare aux exeptions...

:o))))


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
mardi 3 août 2004 à 14:40:21 | Re : pb de mise a jour de base de donnée

shinevilkyo

donc juste pour voir si j ai bien compris

si je veux mettre le champs ack_level4_status a 1

je fait :

OleDbCommand UpdateCmd = new OleDbCommand("UPDATE pli SET ack_level4_status = 1 WHERE non_fichier_pdf = @NOM_FICHIER" , conn);
int Taille_du_champ = 1;

OleDbParameter nom_fichier = new OleDbParameter("ack_level4_status", System.Data.OleDb.OleDbType.VarChar,Taille_du_champ, ????(la j ai du mal a voir ce qu il faut es ce le nom de la table ou du champs));


UpdateCmd.Parameters.Add(nom_fichier);

catDA.UpdateCommand = UpdateCmd ;
mardi 3 août 2004 à 14:48:47 | Re : pb de mise a jour de base de donnée

Arthenius

Membre Club
nop c pas ca tu veux rendre quoi parametrable ton where ou ton set de l'update ...parcque la ta fais un melange des deux....
le code que je t'ai donner rendais parametrable le where (en l'occurrence le non_fichier_pdf...
le Taille_du_Champ doit correspondre a la taille du champ dans la base pour le champ non_fichier_pdf...


OleDbCommand UpdateCmd = new OleDbCommand("UPDATE pli SET ack_level4_status = 1 WHERE non_fichier_pdf = LE NOM DE TON PARAMETRE" , conn);
int Taille_du_champ = 10;

OleDbParameter nom_fichier = new OleDbParameter("LE NOM DE TON PARAMETRE", System.Data.OleDb.OleDbType.VarChar,LE TAILLE DE TON CHAMP, "LE NOM DU CHAMP DE TON DATASET QUI DOIT REMPLIR LA VALEUR DE TON PARAMETRE");

UpdateCmd.Parameters.Add(nom_fichier);

catDA.UpdateCommand = UpdateCmd ;


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
mardi 3 août 2004 à 14:52:02 | Re : pb de mise a jour de base de donnée

shinevilkyo

moi ce que je veux updater c est la valeur de ack_level4_status par rapport au fichier que l on est entrain de traité

1 2

Cette discussion est classée dans : status, ack, catda, level4, pli


Répondre à ce message

Sujets en rapport avec ce message

Status de fichier [ par SharpMao ] Salut à tous,Est-ce que quelqu'un sait si il y a un moyen de savoir si un fichier est actuellement ouvert en écriture par un autre processus? Je m'exp Tooltip sur Status bar [ par Nikoui ] Bonjour, j'ai créé une Status bar, qui contient deux panels. J'aimerai rajouter un tool tip a l'un de mes panels, mais ca ne marche pas : Première t Status d'un fichier [ par adomarle ] Bonjour,J'ai un souci, je veux savoir si un fichier est ouvert ou pas et je n'y arrive pas.En fait, j'ai créé un service qui envoie automatiquement un ACK (synchronisation) [ par ddove53 ] Slt,je voudrai utiliser ACK et NAK pour une communication série (synchronisation).Je sais que ACK=06h mais je ne sais pas comment le convertir.Je voud Membership : problème avec ValidateUser [ par mathmax ] Bonjour, Je suis en train de me familiariser avec le MebershipProvider pour pouvoir gérer les authentifications dans mon application winform. J'ai un Ecriture Multi - Fichiers [ par sbouli ] Bonjour,Je suis débutant en C#, je souhaite utiliser ce language pour parser mes fichiers de log, le principe est simple, je lis un gros fichier texte


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,591 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales