Sostituisci i caratteri nelle stringhe con nuove righe e tabulazioniSto scrivendo una query OLEDB che richiede che il comando SQL sia in una stringa senza contenere la fine di righe o tabulazioni, solo spazi.
Quanto segue funziona, ma non riesco a trovare come farlo senza dover creare le stringhe "vuote".
L'utente può modificare la query SQL, utilizzando JMP installato nelle macchine Windows.
SQL_query = "SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
// Cleansing strings (inputs need to be in one line)
newline = "
";
tab = " ";
space = " ";
SQL_query = substitute(SQL_query, tab, space);
SQL_query = substitute(SQL_query, newline, space);
ScriptingRi: Sostituisci i caratteri nelle stringhe con nuove righe e tabulazioniPuoi usare sequenze di escape per quei caratteri speciali.
SQL_query =
"SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
SQL_query = Substitute( SQL_query,
"\!t", " ",
"\!r", " "
);
Potresti anche trovare il file Sostituisci in () funzione utile. Effettuerà la sostituzione sul posto ed eviterà l'assegnazione alla stringa originale.
Substitute Into( SQL_query,
"\!t", " ",
"\!r", " "
);
Ri: Sostituisci i caratteri nelle stringhe con nuove righe e tabulazioniPer qualche ragione, nessuna di queste sostituzioni sembra funzionare quando all'interno di un componente aggiuntivo che sto sviluppando (?)
Se copio e incollo il codice, la sostituzione funziona.
Ri: sostituire i caratteri nelle stringhe con nuove righe e tabulazioniÈ strano. Non c'è niente di speciale in un componente aggiuntivo che potrebbe influire su questo. Potete fornire ulteriori dettagli su cosa esattamente non funziona?
La funzione Hex () può aiutarti a vedere esattamente quali caratteri (invisibili) sono nella stringa di input.
tab = "\!t";
Show( Hex( tab ) );
return = "\!r";
Show( Hex( return ) );
SQL_query =
"\[SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91']\";
Show( Hex( SQL_query ) );
Risultati:
Hex(tab) = "09";
Hex(return) = "0D";
Hex(SQL_query) = "53454C45435420612C20622C20630D0946524F4D206D797461626C650D0957484552452061203D2027616C696365270D0909414E442062204245545745454E202738362720414E442027393127";