|
|
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Можно ли одним update -скриптом заменить в Varchar -поле все символы, скажем, ' # ' на ' № ' ? Что-то типа Код: plaintext 1. Кстати: как указывать в тексте запроса служебные символы ( ENTER , TAB и т.д.)?? -- LET`S ROCK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:59:14 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Стандартными средствами - нет. Через UDF можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 13:02:38 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Пока только с использованием своей UDF, ибо посимвольно к элементам строки обращаться нельзя пока что к сожалению. Служебные символы - смотря какие. Если TAB и ENTER, то можно их прямо в тексте команды передавать: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 13:04:02 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Через UDF и делал. Думал, может, чего-то не знаю и можно как-то легче... GoldПока только с использованием своей UDF, ибо посимвольно к элементам строки обращаться нельзя пока что к сожалению. Служебные символы - смотря какие. Если TAB и ENTER, то можно их прямо в тексте команды передавать: То есть вместо символа '\t' ( Tab ) можно указывать <табуляция>, а вместо '\r', может, < Enter >??? Что-то у меня не получается... Должны же быть стандартные способы указания символа, скажем, по его ASCII -коду! -- LET`S ROCK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 13:39:48 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Да нет, вместо симвла \t <табуляция> писать нельзя. Ты просто в команде передаешь текст и он записывается как есть. Если в нём есть переводы кареток и табуляция, то они в поле и запишутся. Правда есть проблема с одинарными кавычками - их надо удваивать. Ещё я думаю что если передавать текст как параметр например из дельфей тех же или си, то можно на клиенте формировать строку с нужными символами и в базу она скорее всего в таком же виде и запишется, хотя я не проверял. Я имею ввиду: INSERT INTO TABLE TAB (STR) VALUES (:TXT) И потом на клиенте Query.ParamByName('TXT').AsString:=#1#2#3#4'jvddk'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 14:06:33 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
GoldДа нет, вместо симвла \t <табуляция> писать нельзя. Да я понял. Это шутка была GoldТы просто в команде передаешь текст и он записывается как есть. Если в нём есть переводы кареток и табуляция, то они в поле и запишутся. Правда есть проблема с одинарными кавычками - их надо удваивать. Ещё я думаю что если передавать текст как параметр например из дельфей тех же или си, то можно на клиенте формировать строку с нужными символами и в базу она скорее всего в таком же виде и запишется, хотя я не проверял. Я имею ввиду: INSERT INTO TABLE TAB (STR) VALUES (:TXT) И потом на клиенте Query.ParamByName('TXT').AsString:=#1#2#3#4'jvddk'; Ну, с через IBQuery ->Params я не пытался пока что... но через IBQuery ->SQL->Text ничего хорошего не выходит, особенно с ENTER `ом ('\r'): SQL имеет тип TStringList , который все символы \r, \n и \r\n преобразовывает в \r\n. И рассматривает как разделитель строк. И в этом вся проблема Вот если бы можно было указывать ASCII -код символа.... Но это, похоже, мечты :( Тем не менее - всем спасибо. -- LET`S ROCK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 14:30:28 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=462&tid=1578251]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 361ms |

| 0 / 0 |
