Précédent   Forum des professionnels en informatique > Bases de données > Sybase > SQL Anywhere
SQL Anywhere Forum d'entraide concernant Sybase SQL Anywhere, la base de données mobile de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/10/2007, 14h04   #1
Membre du Club
 
Inscription : décembre 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 47
Points : 41
Points : 41
Par défaut [résolu][ASA]problème d'update dans une base embarquée ultralight

Bonjour

Je travaille sur un projet en C# qui écrit dans une base de données ultralight embarquée sur un PDA
je cherche à faire un update dans cette base donc voici comment je procède :

Citation:
Audit.UpdateAudit(etatAudit, ID_Audit, ID_ModeleMoyenPaiement,dateAudit,creeSurPda);
et voici la fonction appelée :

Citation:
public static void UpdateAudit(int etatAudit, int ID_Audit, int ID_ModeleMoyenPaiement, DateTime dateAudit, int creeSurPda)
{
int indexOfParms = 0;

try
{

ULParameter[] reqParms = new ULParameter[5];
reqParms[indexOfParms] = new ULParameter("etatAudit",ULDbType.Bit);
reqParms[indexOfParms++].Value = etatAudit;
reqParms[indexOfParms] = new ULParameter("ID_ModeleMoyenPaiement",ULDbType.Integer);
reqParms[indexOfParms++].Value = ID_ModeleMoyenPaiement;
reqParms[indexOfParms] = new ULParameter("dateAudit",ULDbType.DateTime);
reqParms[indexOfParms++].Value = dateAudit;
reqParms[indexOfParms] = new ULParameter("ID_Audit",ULDbType.Integer);
reqParms[indexOfParms++].Value = ID_Audit;
reqParms[indexOfParms] = new ULParameter("creeSurPda",ULDbType.Integer);
reqParms[indexOfParms++].Value = creeSurPda;

String request = Localisation.GetSQL(@"UPDATEAudit");
SQLManager.XcuteNonQueryRequest(request,reqParms);
}

catch(Exception ex)
{
throw new D8MobileException(ex.Message,CodeErreur.CODE_ERREUR_ACCES_DONNEES,"UpdateAudit("+ID_Audit+")");
}
}

la requète récupérée et exécutée est :

Citation:
UPDATE AUDIT
SET ETATAUDIT = ?, ID_MODELEMOYENPAIEMENT = ?, DATEAUDIT = ?, CREESURPDA = ?
WHERE ID_AUDIT = ?
mon problème est que l'update n'insère rien dans la base
alors que si je récupère la base embarquée sur mon pc et que je l'ouvre avec ultralight j'arrive à exécuter la requète en rentrant les mêmes paramètres qui lui sont passés en C#, ça fonctionne trés bien

je suis aussi passé en mode débug et on ne rentre pas dans l'exeption donc le fonctionnement est correct.

j'ai aussi essayé de passer via un transact sql et un comit lors de l'appel à la fonction de la requète comme ceci :

Citation:
SQLManager sql = SQLManager.getInstance() ;
sql.BeginTransaction() ;
Audit.UpdateAudit(etatAudit, ID_Audit, ID_ModeleMoyenPaiement,dateAudit,creeSurPda);
sql.CommitTransaction() ;
Je précise que le SQLManager.getInstance() est un singleton.
mais ça ne fonctionne pas mieux

est ce que quelqu'un a une idée d'où ça peut venir ?
j-Christo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2007, 12h20   #2
Membre du Club
 
Inscription : décembre 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 47
Points : 41
Points : 41
j'ai réussi à résoudre mon pb, en fait je suis un vrai boulet

j'ajoutais mes paramètres dans un ordre différent de celui qui était nécessaire pour la requète. (voir les bouts de codes que j'ai mis dans ma question)

désolé pour ceux qui se sont penchés sur la question.
j-Christo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h52.


 
 
 
 
Partenaires

Hébergement Web