Veröffentlicht 11. Mai 200619 j 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 ?
11. Mai 200619 j 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
12. Mai 200619 j ich dachte mit dem LIKE und '%irgendwas%' kann ich die wörter bekommen die *irgendwas* drin stehen haben ?! also die % als platzhalter ?!
12. Mai 200619 j 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
12. Mai 200619 j 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
12. Mai 200619 j 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
12. Mai 200619 j '%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?
12. Mai 200619 j 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
12. Mai 200619 j 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
12. Mai 200619 j jo war ja kein vorwurf oder so :beagolisc Hab ich auch nicht so aufgefasst. Grüße von ipu
12. Mai 200619 j 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
15. Mai 200619 j mein fehler :beagolisc hab das ganze nun bissel anders gelöst, aber danke für die hilfe
15. Mai 200619 j 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
15. Mai 200619 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.