begin process at 2008 08 29 22:01:08
1 233 910 membres
431 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requete SQL non suportée ? [ Base de données / Autre ] (cyber37)

Requete SQL non suportée ? le 07/05/2008 18:00:09

cyber37
Salut a tous,
Je doit faire un programme qui recupere un fichier SQL contenant des infos puis les mettre dans une base de donnée,

Le probleme est le suivant :

Les requetes de se fichier on des " ' "  autour du nom de la table et sa ne passe pas sur mon application, j'utilise UIB et FIREBIRD EMBEDED
Le programme est deja fait (j'ai refait un fichier sql sans les " ' " autour du nom de la table et sa marche) ...
Maintenant j'aimerais savoir comment je pourrais faire en sorte que les " ' " sautent ^^

voicis un exemple de requete :

INSERT INTO `x_world` VALUES (5,-396,400,3,106633,'Exodus',5160,'Cloud',3200,'C-W',974);
INSERT INTO `x_world` VALUES (17,-384,400,3,128071,'Exodus 1_3a',5160,'Cloud',3200,'C-W',827);
INSERT INTO `x_world` VALUES (60,-341,400,1,170414,'Berléwen',10431,'kalie',4996,'GROM !',519);

en faite il ne faut pas les "'" autours de x_world ...

comme tous les enregistrement commence par :

INSERT INTO `x_world` VALUES
J'avais penser a faire une procedure qui prendrais chaque ligne et enleverais le caractere n°11 et 19 mais sa risque d'etre long ! le fichier SQL contien plus de 30 000 requettes !!!!!!
Si non y a t'il un moyen pour le rendre compatible ?
Au debut je pensais que sa venais de l'encodage ... A se que j'ai compris c'est de L'UTF-8 ..
J'en sais pas plus

Voila, merci.

Re : Requete SQL non suportée ? le 07/05/2008 19:02:32

JulioDelphi
Membre Club
(Admin CS)
Réponse acceptée !
Oula, et pourquoi pas simplement un StringReplace() ?

fAvant := 'INSERT INTO `x_world` VALUES (5,-396,400,3,106633,'Exodus',5160,'Cloud',3200,'C-W',974);';
fApres := StringReplace(fAvant,'`','''',[rfReplaceAll]); //doublage du ' mis entre 2 ' ça en fait 4, c'est normal :]

hum ?

Re : Requete SQL non suportée ? le 09/05/2008 11:17:30

cyber37
Hum Hum .. Je n'avais pas vue ta reponse, en faite c'est bon c'est regler j'ai fait une procedure qui en prememier vire le caractere 13 puis apres vire le 19 ou 18 je ne sais plus (comme un caractere est virer sa fait -1) enffin bref sa c'est regler :-) merci quand meme ^^

Re : Requete SQL non suportée ? le 09/05/2008 11:39:45

JulioDelphi
Membre Club
(Admin CS)
Je te conseille tout de même ma solution qui est moins bidouille ;)
Et puis si le nom de la table vient à changer ou si tu veux réutiliser la fonction sur une autre table, pas besoin de compter les caractères ce qui risque de poser des soucis (la preuve en est que toi meme tu ne sais pas si c'esle 18 ou 19eme ;p)


Classé sous : fichier, insert, sql, into, world

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS