Hallo, wie muß ich einen String umwandeln, damit dieser korrekt behandelt wird?
Der String soll in eine MSI-Tabelle rein per IS-Script.
sText = "Uncle Tom's cabin";
StrReplace( sText, "'", "[\']", 0 ); <-- funktioniert nicht
StrReplace( sText, "'", "[\'][\']", 0 ); <-- funktioniert nicht
StrReplace( sText, "'", "\'", 0 ); <-- funktioniert nicht
StrReplace( sText, "'", "\'\'", 0 ); <-- funktioniert nicht
Bin mit meinem Latein am Ende.
Gruß
André
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Ersetzen von Hochkommatas in IS-Script?
Started by
ANo
, Mar 02 2010 14:55
3 replies to this topic
Posted 02 March 2010 - 17:03
Hallo,
ich würde das Hochkommata im 2. Parameter escapen.
Dann sähe der Aufruf wie folgt aus:
StrReplace( sText, "\'", "\'\'", 0 )
Aber was willst Du eigentlich genau erreichen?
ich würde das Hochkommata im 2. Parameter escapen.
Dann sähe der Aufruf wie folgt aus:
StrReplace( sText, "\'", "\'\'", 0 )
Aber was willst Du eigentlich genau erreichen?
Posted 03 March 2010 - 17:44
Hallo, ich habe das Problem gefunden:
I found a paragraph in the help now: SQL Syntax:
"The Windows Installer SQL syntax does not support the escaping
of single-quotes (ASCII value 39) in a string literal.
However, you can fetch or create the record,
set the field with the StringData or IntegerData property,
and then call the Modify method.
Alternatively, you can create a record and use
the parameter markers (?) described in Execute method.
You can also do this using the database functions MsiViewExecute,
MsiRecordSetInteger, and MsiRecordSetString."
Ich schreibe einige Dinge in die ListBox-Tabelle mit MSI-SQL, und da falle
ich eben mit den Hochkommatas auf die Nase.
Ich habe mich mal wieder dusslich gesucht.
Hallo Sascha5782, danke für Deine Antwort.
Also, wie in der Hilfe beschrieben, es geht halt nicht.
Kann man nicht ein Topic aufmachen, wo nur beschrieben wird, was der WI
(und IS) nicht kann?
(Ein paar Dinge hätte ich schon:
- keine Major Upgrades mit Assembly-Installation im GAC,
- keine Minor Upgrades, weile diese nicht von DVD aus funktionieren, ...)
Dann schaut man da zuerst nach und spart sich jede Menge Ärger.
Gruß
André
I found a paragraph in the help now: SQL Syntax:
"The Windows Installer SQL syntax does not support the escaping
of single-quotes (ASCII value 39) in a string literal.
However, you can fetch or create the record,
set the field with the StringData or IntegerData property,
and then call the Modify method.
Alternatively, you can create a record and use
the parameter markers (?) described in Execute method.
You can also do this using the database functions MsiViewExecute,
MsiRecordSetInteger, and MsiRecordSetString."
Ich schreibe einige Dinge in die ListBox-Tabelle mit MSI-SQL, und da falle
ich eben mit den Hochkommatas auf die Nase.
Ich habe mich mal wieder dusslich gesucht.
Hallo Sascha5782, danke für Deine Antwort.
Also, wie in der Hilfe beschrieben, es geht halt nicht.
Kann man nicht ein Topic aufmachen, wo nur beschrieben wird, was der WI
(und IS) nicht kann?
(Ein paar Dinge hätte ich schon:
- keine Major Upgrades mit Assembly-Installation im GAC,
- keine Minor Upgrades, weile diese nicht von DVD aus funktionieren, ...)
Dann schaut man da zuerst nach und spart sich jede Menge Ärger.
Gruß
André
Posted 04 March 2010 - 09:58
QUOTE |
- keine Minor Upgrades, weile diese nicht von DVD aus funktionieren, ...) |
Wieso nicht? enn das Volume Label der DVD mit dem Eintrag in der MEDIA-Tabelle übereinstimmt, sollte das eigentlich funktionieren. Aber das ist eher etwas für ein separates Topic.
Stefan Krüger
InstallSite.org twitter facebook