Fonction addslashes [C#] - C#/.NET managed - Programmation
Marsh Posté le 12-01-2007 à 17:22:28
Je crois que tu devrais plutôt regarder comment utiliser des SqlParameter
Marsh Posté le 12-01-2007 à 17:30:28
Bon ba le string.Format regle pas le problème...
Je regarde ce que peut faire le SqlParameter
Marsh Posté le 13-01-2007 à 09:52:10
+1 pour les SQLParameter qui assure également une certaine sécurité
Marsh Posté le 15-01-2007 à 10:07:37
Merci pour la découverte de cette classe :)
Seulement, lors de la requête d'insertion, lorsque je regarde la table où je réalise les insert, Eh bien il y a rien dedans mis à part le ":observation".
Comment je pourrais faire pour placer les différentes variables dans la requête ?
Est-ce le "PointeurLecture.GetString(6)" qui ne correspond pas ? Existe-t'il une autre fonction ou une fonction plus approriée ?
Petit apperçu de mon script C# :
Code :
|
Merci pour votre aide :)
Marsh Posté le 16-01-2007 à 09:57:37
Hum apparament il faut utiliser des variables de type ?champ1 pour que cela puisse marché mais je n'ai toujours pas trouvé la solution
Marsh Posté le 16-01-2007 à 10:35:16
cvex a écrit : Merci pour la découverte de cette fonction |
en fait il s'agit d'une classe
cvex a écrit : Hum apparament il faut utiliser des variables de type ?champ1 pour que cela puisse marché mais je n'ai toujours pas trouvé la solution |
J'ai toujours utilisé Sql Server 2000 et des procédures stockées, et donc dans ce cas tu peux faire un
Code :
|
pour récupérer tes paramètres et leur type et ensuite les affecter.
Bon, si je lis bien tu fais du MySql sans procédure stockée, tu utilises donc une dll tiers, n'est-elle pas documentée ?
Il me semble qu'en SQL Server tu ferais quelquechose du genre :
Code :
|
à vérifier dans la MSDN.
Quel est ton message d'erreur / la dll MySql que tu utilises ?
Marsh Posté le 16-01-2007 à 12:16:46
Oui, je l'ai certainement pas précisé mais je travaille avec la DLL MySQL donc c'est un peu différent d'après ce que j'ai pu voir :s
J'ai continuer à chercher et je suis actuellement à ce résultat la :
Code :
|
La classe (merci de m'avoir corriger =) ) MySQL c'est la galère :s
Lorsque j'execute, j'obtiens l'erreur suivante :
Marsh Posté le 16-01-2007 à 13:27:35
comment peut on bosser sur un sgbd qui n'implémente pas les procédures stockées... ca me dépasse ca... ca gère les Select qd meme rassure moi
Marsh Posté le 16-01-2007 à 13:42:21
MySQL oblige :s
Si j'avais eu le choix, je croix bien que je me serais penché sur le SGBD SQL server...
Marsh Posté le 16-01-2007 à 13:51:05
vu ton message d'erreur tu as un problème sur un champ de type date, d'ailleurs qu'est-ce que c'est que cette horrible ligne :
Code :
|
?
C'est un type date, donc passe une date, non ?
As-tu tester de faire un insert tout simple, avec des types de données primitifs ?
Marsh Posté le 16-01-2007 à 14:14:50
Oui, c'est un type date. D'ailleur, j'ai esseyé le fameux :
Code :
|
Pour ce qui est de l'insert primitifs je vais essayé tout de suite...
Edit : J'ai essayé l'insert primitif et la requête ce fait correctement dans la base de données donc c'est bien les SQLParameter qui marche pas trop :s
Marsh Posté le 16-01-2007 à 14:32:31
il n'y a pas de problème avec SQLParameter, d'ailleurs sur l'exemple que tu donnes ci-dessus tu n'utilises pas cette classe de plus dans ton cas il s'agit de MySqlParameter
je ne sais pas quoi te dire, à part regarder la doc sur MySqlParameter et MySqlDbType.Date
Marsh Posté le 16-01-2007 à 15:26:09
cvex a écrit : Bonsoir à tous
|
Salut!
Je vais revenir sur ton problème de Replace, car tu risques de le rencontrer souvent. Tu fais une erreur d'utilisation de la fonction.
Voilà sa déclaration (cf. MSDN)
Code :
|
Return Value est LE point important : String.Replace ne s'applique pas à l'objet sur lequel tu l'appelle, mais renvoie un objet de type String avec les modifications que tu attends. Fais bien attention, beaucoup de méthodes prennent cette forme !
@+!
Marsh Posté le 18-01-2007 à 19:05:45
ah oui j'avais meme pas fait gaffe a son code, ca sert a rien son Replace, il récupère pas la valeur
Marsh Posté le 19-01-2007 à 10:23:28
J'ai beau faire comme la documentation officiel de la classe, le résultat est toujours le même :s
Marsh Posté le 22-01-2007 à 17:03:49
De mémoire, le format Date a prendant longtemps été un problème avec ODBC et OLE DB pour MySQL.
Perso (mais ça fait longtemps) je n'ai jamais vu une version qui les supportait correctement.
A mon avis, le connecteurs .NET a tout simplement le même problème. Utilises un TIMESTAMP à la place.
Marsh Posté le 22-01-2007 à 19:16:41
le kouba
on ne frappe pas un homme déjà à terre
Marsh Posté le 22-01-2007 à 20:20:47
et pourquoi pas ? SQL Server Express est gratuit et tres bien Comment peut on raisonnablement lui préférer mySQL ? (sauf si on est hébergé chez free, mais bon, apres on en a pour son argent : pas grand chose)
Marsh Posté le 22-01-2007 à 20:33:17
ha ben j'ai rien dit.
juste que je gars vient de tomber dénu en s'appercevant que MySQL est une bouse infâme, et toi tu viens lui dire qu'il existe mieux en gratuit aussi
c'est un coup bas moi je te dis
Marsh Posté le 22-01-2007 à 21:42:08
et comme je suis gentil : http://www.microsoft.com/downloads [...] C397514B41
Marsh Posté le 08-02-2007 à 15:39:54
xD
C'est très gentil à vous, le problème c'est que j'ai des contraintes... et la contrainte ici c'est notre MySQL.
Merci de vos interventions surtout pour le SQL Server Express lol
++
Marsh Posté le 11-02-2007 à 09:34:56
ah bah apres si tu te tires volontairement une balle dans le pied... Y'en a qui aiment les défis dans la vie
Marsh Posté le 12-01-2007 à 17:10:53
Bonsoir à tous
Etant donnée que mon programme execute des requêtes SQL, certaines données contiennent des caractères "spéciaux" du genre (" ou ')
Lorsque qu'un caractère spécial apparait, j'ai le droit à une erreur.
Jusque la tout va bien
Pour régler le problème, j'ai donc créer une fonction permettant de régler ce problème...
En voici son code :
Le problème c'est que cette fonction n'a pas l'air de bien fonctionner et je ne vois pas d'ou peut provenir l'erreur.
Replace est une fonction adapté au problème ? Est-elle la source du problème ?
Existe-t'il une fonction plus simple ?
Merci d'avance
Edit :
J'ai trouvé que un string.Format pouvait régler le problème... Je me renseigne sur le sujet
Message édité par cvex le 12-01-2007 à 17:19:18
---------------
http://forum.hardware.fr/hardwaref [...] 1293-1.htm