|
Dernière réponse | |
---|---|
Sujet : [Delphi/SQL] Inclure le contenu d'un Tedit dans une requete SQL ... | |
Tetedeiench | ok :/
je comprends toujours pas pourquoi ca merde... je vais essayer de virer TOUS les espaces que j'aie pu mettre, et basta :) |
Aperçu |
---|
Vue Rapide de la discussion |
---|
Tetedeiench | ok :/
je comprends toujours pas pourquoi ca merde... je vais essayer de virer TOUS les espaces que j'aie pu mettre, et basta :) |
antp | je sais pas, pour la lecture il me les renvoyait sans les #
c'est juste à l'écriture je crois que je devais les mettre... c'est très bizarre, mais c'était de toute façon temporaire, pcq Access devait être remplacé par Oracle :) |
Tetedeiench | oky, je viens de voir :)
Mais pour comparer un date récupérée via SQL et une date de type Date... Avec tes #, tu faisais comment toi ? Suffit que je fasse pareil mais sans les # :D [edtdd]--Message édité par Tetedeiench--[/edtdd] |
antp | pour les champs SQL avec espace je sais pas, c'est le genre de complication que j'évite :D
pour les tabsheet, bhen suffit de modifier le numéro d'index d'une page (pageindex je crois) et elle bouge par rapport aux autres |
Tetedeiench | Par contre, si tu sais comment changer l'ordre des pages dans un tabsheet, je suis preneur... je cherche et je trouve pas :(
Et comment on passe dans une requete SQL un champ avec un espace... Ca aussi ca reste mystérieux :( En gros : ca ca amrche jamais, meme quand je rentre la date qui devrait :
[edtdd]--Message édité par Tetedeiench--[/edtdd] |
Tetedeiench | arf, sans dièse, ca marche nickel :D
Va comprendre :D |
Tetedeiench | dateplongee C un champ date en effet ...
je comprends pas cette erreur... puisque le format renvoie bien une chaine, et que l'instruction est terminée... :/ |
antp | et date plongée c un champ date je suppose ? y a peut etre un format special à utiliser... moi je faisais des requete SQL avec des update/insert, j'utilisais pas ce système de fields pour modifier la BD. |
Tetedeiench | D'ailleurs, quoique je foute apres, ca merde :??:
meme erreur ... si C la dernière, ca passe :??: [edtdd]--Message édité par Tetedeiench--[/edtdd] |
Tetedeiench | Il me renvoie une erreur "invalid variant type conversion" sur la ligne d'apres :??:
[edtdd]--Message édité par Tetedeiench--[/edtdd] |
antp | il met qui comme erreur plus précisément ? la chaine renvoyée par le format donne quoi ? c'est peut-être un problème de formatage, genre mm/jj/aaaa au lieu de jj/mm/aaaa ou un brol du genre. |
Tetedeiench | plop ? |
Tetedeiench | Zai une dernière petite question la, à chaud, sur le vif...
|
antp | :)
bhen disons que comme je fais du Delphi au boulot depuis 4 mois, et pendant mon temps libre depuis plus d'un an, je connais évidemment pas mal de trucs... mais bon on en apprend tous les jours... |
Tetedeiench |
|
antp | si ladate est un string tu dois rien mettre, datetostr c'est pour si la date provient d'un TDateTimePicker par exemple (composant de sélection de date), donc une variable de type TDate ou TDateTime [edtdd]--Message édité par antp--[/edtdd] |
Tetedeiench | Merde, il aime pas ton coup de la date...
D'ailleurs, faut pas mettre de DateToStr non ? Vu que le contenu d'un Tedit est un Str... ce serai pas plutot StrToDate ? |
Tetedeiench | Putain, on dirai un printf :eek:
C génial ca :sol: Connaissais pas :sol: Marchi :D |
antp | heu là ça va foirer :)
plutôt: ... where ladate = #' + Edit1.Text + '# ... sinon si t'as bcp de variables c parfois plus clair (plus pratique) de tout mettre dans un format : Sql.Text := format('select * from truc where machin = %d and truc = ''%s'' and ladate = #%s#', [unentier, unechaine, DateToStr(unedate)]); |
Tetedeiench | Okay, donc je suppose que ca doit etre de la gueule :
where ladate = ' + # + Edit1.Text + # + ' nan ? [edtdd]--Message édité par Tetedeiench--[/edtdd] |
antp | pour Access 2000 pour les dates j'avais dû les mettre de la forme:
where ladate = #dd/mm/yyyy# (ouais ces # c'est bizarre mais y a que comme ça que ca marchait) |
Tetedeiench | Merde, C que niveau date j'en ai 'achement besoin la...
C pile poil ce sur quoi je regardais la... C une base Access XP ( 2002), enfin ca doit surement etre pareil que le 2001 ... T'as une antp le maitre du delphi/SQL ? |
antp | pour les integer suffit de mettre ...where machin = ' + edit1.text + ' ... ca doit passer. pour les dates c'est un bordel pas croyable, ça a l'air de dépendre de la base de donnés cible. pour les booleans, je sais plus, 0 ou 1 j'imagine. |
Tetedeiench | Y a un truc que je ne capte pas...
Admettons que je veuilles insérer le cotnenu d'un Tedit, mais cette fois ci de type Integer... Forcément, je ne peux plus faire ''' + gnagna + ''' , parce que ca va etre considéré du type string... Quelle est la syntaxe alors ? J'ai essayé ' + gnagna + ' , mais ca a pas l'air d'etre ca... a priori. Et le type Date ... y a pas un blem avec ? Et pour les booléens ? Une fois que j'ai ca, promis, j'ai tout ce qu'il me faut, je vous laisse tranquille ;) [edtdd]--Message édité par Tetedeiench--[/edtdd] |
antp | en informatique, aussi fort qu'on soit, c'est toujours des autres que viennent les solutions aux problèmes les plus bêtes.
Quand c'est son propre code on ne voit pas certaines erreurs que d'autres voient au premier coup d'oeil. |
irulan |
[edtdd]--Message édité par irulan--[/edtdd] |
Tetedeiench |
|
antp | bhen dis donc :ouch: |
irulan | 'tain, c'est devenu chaud le forum Programmation :D :lol: |
Tetedeiench |
|
antp | Temp.SQL.Text := 'Select nom from bateaux where ( bateaux.nom = ''' + dateplongee.Text +''')';
le nom est un champ texte dans la BD, délimité par des ' comme les ' sont dans une chaine, il faut mettre '' pour que dans la chaine finale ca donne ' et y en a 3 pcq y a les fins de chaine / debut de chaine. PS: il n'y a aucun " dans mon post (sauf celui-ci dans le PS :D), ce sont bien 2x ' [edtdd]--Message édité par antp--[/edtdd] |
Tetedeiench | Ouin, finalement on y arrive toujours pas...
Voila la requete qu'on fait :
|
Proov |
|
Tetedeiench |
|
JWhy | tu ne pourras pas le faire directement via l'explorateur de propriétés... il va falloir que tu mettes un bout de code:
[edtdd]--Message édité par JWhy--[/edtdd] |
Tetedeiench | non non ca no problem, C juste pour inclure ca dans une requete SQL ... |
antp | pour les dates c'est assez chiant, j'ai eu pas mal de problèmes... par exemple pour donner une date à Access je devais la mettre entre #, ça donnait un truc du genre:
where ladate = '#05/12/2001#' [edtdd]--Message édité par antp--[/edtdd] |
Tetedeiench | Salamalekum !
En ce moment, je galère sur un petit probleme... on doit faire une appli en delphi qui gère un club de plongée, avec une base de données... j'ai modélisé la BDD sous Access, et je la balance via ODBC dans l'appli, ca amrche plutot bien. mais le probleme le voici : Poiur créer une plongée, il faut un bateau. L'utilisateur rentre donc la date de sa plongée, et il doit ensuite sélectionner dans une liste le bateau a utiliser... Or je voudrais que cette liste ne contienne que les bateaux disponibles ... i.e. ceux pas pris ledit matin, ou apres midi (on considère que quand un bateau est pris, C pour toute la matinée ou l'aprem'. Donc en gros, je voudrais faire une requete SQL qui regarde la date et le moment de la journée, et me sort les bateaux dispos... Probleme : j'ai essayé, a titre de test, de récup le contenu d'un Tedit pour faire ma requete... Ca donne ca (dans la propriété SQL de ma requete ... ) :
|