|
|
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Это наверно закон подлости. Испытывал новый back_up службу на серваке соответственно остановил старый добрый способ back_up через диспетчер задач. У меня чуть небыло инфаркта когда комне пришел пользователь и сказал что неможет найти не одной записи физических лиц по фамилии. Вобщем глюк такой. следующая sql команда в InterBase6.0. Приводит к тому что все записи в таблице стали одинаковыми. UPDATE FIZLICA SET NAME = '-', FAMIL = 'АКУДЕ'НЕФТЧЕ'', <- вот оно это место пользователь обновил OTCHE = '-', запись внеся такую фамилию с апострафами. ADRES = '-', TEL = '-', DOC = '-', INN = '-', INDEKC = '-', GRKO = '-', RAION = '-', PREF_NASEL = 'Г.', NASEL = '-', STREET = '-', CORPUS = '-', HOUSE = '-', FLAT = '--', BIRTHDAY = '01.01.1950' WHERE ID_FIZLICA = 100009697 Итог работы идентичен UPDATE FIZLICA SET NAME = '-', FAMIL = 'АКУДЕ'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 10:25 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Э, матчасть надо учить. UPDATE FIZLICA SET NAME = '-', FAMIL = 'АКУДЕ'НЕФТЧЕ'', Надо квотить символ апострофа в середине строки двойным апострофом. Чем ты выполнял этот запрос? Небось IBX? Да, у него дерьмовый парсер SQL и он жестоко отсекает все, по его мнению, лишнее. И, замечу, ни к Интербейз ни к Файерберд IBX отношения не имеет. Ругать можешь только себя - это засада давным давно известная - не проверил ты все известные варианты. Далее - ИБ6. Уж сколько раз твердили миру, что кушать несвежее опасно для здоровья. Нужно бесплатное - бери Firebird и не парься. А разочаровываться в чем-либо из-за своей же ошибке или недосмотра - странно, по меньшей мере. With best regards, Alexey Kovyazin http://]www.ibsurgeon.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 10:45 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Мда. Основную массу востановил. по старому бекапу. Все верно использую IBX но проект больно большой все переписывать шас пока нет времени может можно сылочку где можно узать про все глюки IBX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 10:56 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Это не глюки, блин! Используйте параметрические запросы - и будет вам счастье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 11:04 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Сочувствую, может это утешит... function StrToSQL(cStr:String):String; var nI : Integer; nLen : Integer; begin nI := Pos('''',cStr); // Добавление к строке 2ых кавычек if nI <> 0 then begin nI := 1; Result := ''''; nLen := Length(cStr); while nI <= nLen do // Условие выхода из цикла // Конец строки или следующий символ не ' if cStr[nI] = '''' then begin if nI + 1 > nLen then Break; if cStr[nI+1] <> '''' then Break; Result := Result + ''''; nI := nI + 2; end else begin Result := Result + cStr[nI]; nI := nI + 1; end; Result := Result + ''''; end else Result := ''''+cStr+''''; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 11:05 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
Sorry, не то скопировал function StrToSQL(cStr:String):String; var nI : Integer; nLen : Integer; begin nI := Pos('''',cStr); // Добавление к строке 2ых кавычек if nI <> 0 then begin nI := 1; Result := ''''; nLen := Length(cStr); while nI <= nLen do begin if cStr[nI] = '''' then Result := Result + '''''' else Result := Result + cStr[nI]; nI := nI + 1; end; Result := Result + ''''; end else Result := ''''+cStr+''''; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 11:44 |
|
||
|
Разочеровался в InterBase'e
|
|||
|---|---|---|---|
|
#18+
function StrToSQL(SQL: String): String; begin Result:=StringReplace('''', '''''', SQL, [rfReplaceAll]); end; ... SQL:='select * from table1 where name='''+StrToSQL(SomeoneName)+''''; ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1579239]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 482ms |

| 0 / 0 |
