stigi Geschrieben 11. Mai 2006 Geschrieben 11. Mai 2006 hoi ich hab folgende abfrage UPDATE REGEL20, TEXTE SET REGEL20.PA_INFO = '%s'WHERE ((StrComp(REGEL20.PA_INFO,TEXTE.TEX_AUSGABE,0)<>0 And REGEL20.PA_INFO_TEXTNR=TEXTE.TEX_NUMMER And TEXTE.TEX_SPRACHE='deu'));" %(string3)) leider is die so noch nicht ganz komplett da fehlt noch eine AND anweisung und das sollte meines erachtens dann so aussehen: UPDATE REGEL20, TEXTE SET REGEL20.PA_INFO = '%s'WHERE ((StrComp(REGEL20.PA_INFO,TEXTE.TEX_AUSGABE,0)<>0 And REGEL20.PA_INFO_TEXTNR=TEXTE.TEX_NUMMER And TEXTE.TEX_SPRACHE='deu') AND '%s' NOT LIKE '%temp%');" %(string3,string3)) leider bekomm ich dann diesen fehler: Bad format specifier at Position 190 (%temp%') was is daran jetzt falsch ?
Amstelchen Geschrieben 11. Mai 2006 Geschrieben 11. Mai 2006 ganz einfach: temp ist kein formatstring - wäre mir als formatstring auch neu. du musst schon formatstrings verwenden, die es auch gibt, wie beispielsweise, %s, %u, %i, %d, %c. das sollte aber im manual genauer angegeben sein. s'Amstel
stigi Geschrieben 12. Mai 2006 Autor Geschrieben 12. Mai 2006 ich dachte mit dem LIKE und '%irgendwas%' kann ich die wörter bekommen die *irgendwas* drin stehen haben ?! also die % als platzhalter ?!
ipu Geschrieben 12. Mai 2006 Geschrieben 12. Mai 2006 ich dachte mit dem LIKE und '%irgendwas%' kann ich die wörter bekommen die *irgendwas* drin stehen haben ?! also die % als platzhalter ?! Der Platzhalter '%' steht im Standard-SQL meines Wissens für genau 1 Zeichen. Der Platzhalter '*' kann für mehr als 1 Zeichen verwendet werden. Falls jemand andere Infos darüber hat, lass ich mich gerne belehren. Grüße von ipu
stigi Geschrieben 12. Mai 2006 Autor Geschrieben 12. Mai 2006 und wieso sagt mir dann dieses Tutorial was anderes ? :beagolisc im bezug auf das mit dem 1 Zeichen und dem "temp ist kein formatstring" ? %H% ist auch kein Format string
stigi Geschrieben 12. Mai 2006 Autor Geschrieben 12. Mai 2006 jo war ja kein vorwurf oder so :beagolisc aber was meinst amstelchen denn dann mit dem formatstring? in dem beispiel isses doch ganz deutlich so geschildert mit den % als Platzhalter
Wolle Geschrieben 12. Mai 2006 Geschrieben 12. Mai 2006 '%s' NOT LIKE '%temp%' Was soll den %s sein? Du vergleichst einen statischen String mit einem anderem. IMHO sollte da statt %s ein Feldname stehen oder was willst du mit dem AND bezwecken?
stigi Geschrieben 12. Mai 2006 Autor Geschrieben 12. Mai 2006 ja %s steht für einen statischen string der hinten dran auch angehängt ist %(string3) falls du das gesehen hast und mit %temp% will ich diesen string auf die zeichenfolge *temp* untersuchen. and was meinst du mit "was willst du mit dem AND bezwecken" ? edit: habs schon hinbekommen - wenn auch über 2 ecken, aber funktioniert
geloescht_JesterDay Geschrieben 12. Mai 2006 Geschrieben 12. Mai 2006 leider bekomm ich dann diesen fehler: Bad format specifier at Position 190 (%temp%') was is daran jetzt falsch ? Du benutzt zum Einfügen der Strings eine Formatfunktion. Mit dieser Formatfunktion weren Platzhalter in deinem String ersetzt. Diese Platzhalter sind im Formatstring mit %x angegeben (wobei x für einen "format specifier" steht). Die Formatfunktion kennt einige dieser Specifier (z.B. %s für Strings), was sie aber nicht kennt ist ein "format specifier" %temp oder % ohne was. Das sagt dir diese Fehlermeldung. % kann man als Literal angeben, wenn man %% schreibt AFAIK, oder probier es mal, indem du %temp% auch per Format übergibst. Also so ung: ... AND '%s' NOT LIKE '%s');" %(string3,string3,%temp%)) EDIT: Ist somit eigentlich kein SQL-Fehler und hat bei Datenbanken nichts zu suchen
ipu Geschrieben 12. Mai 2006 Geschrieben 12. Mai 2006 jo war ja kein vorwurf oder so :beagolisc Hab ich auch nicht so aufgefasst. Grüße von ipu
Wolle Geschrieben 12. Mai 2006 Geschrieben 12. Mai 2006 ja %s steht für einen statischen string der hinten dran auch angehängt ist %(string3) falls du das gesehen hast und mit %temp% will ich diesen string auf die zeichenfolge *temp* untersuchen. and was meinst du mit "was willst du mit dem AND bezwecken" ? Sorry, mein Fehler. Ich hatte das %(string3)... zwar gesehen, aber für mich war die Anweisung nach dem ; fertig. Ich kannte das in der Form nicht aus SQL-Anweisungen
stigi Geschrieben 15. Mai 2006 Autor Geschrieben 15. Mai 2006 mein fehler :beagolisc hab das ganze nun bissel anders gelöst, aber danke für die hilfe
ipu Geschrieben 15. Mai 2006 Geschrieben 15. Mai 2006 hab das ganze nun bissel anders gelöst, aber danke für die hilfe Würdest du die andere Lösung hier bitte präsentieren? Dann hätten alle was davon. Grüße von ipu
stigi Geschrieben 15. Mai 2006 Autor Geschrieben 15. Mai 2006 ich hatte nach einem falschen feld gesucht, nachdem ich das gemerkt hatte hab ich das NOT LIKE nicht mehr gebraucht, ist nun ein stinknormales SQL Query, hätte also wenig sinn das reinzustellen :beagolisc
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden