Вниз
Скачать: CL | DM;

Загрузка файла в TStringList   Найти похожие ветки 

← →
Ольга   (2005-11-13 13:25) [0]

Задача такая: выстричь команду GO из файла со скриптами.
Загружаю файл в TStringList. При этом получаю StringList.Count = 1, хотя в файле строк много. На выходе получаю странную строку: "яюi"
Не могу понять, где ошибка:

procedure LoadSQLFromFile(filename: string; Comm: TADOCommand);
var  SList: TStringList; i: integer;
begin
 Comm.CommandText:="";
 SList:= TStringList.Create;
 SList.LoadFromFile(filename);
 for i:=0 to SList.Count-1 do
 if Trim(SList.Strings[i])<>"GO" then
    Comm.CommandText:=Comm.CommandText+SList.Strings[i];
 SList.Free;
end;


← →
sniknik ©   (2005-11-13 13:52) [1]

> На выходе получаю странную строку: "яюi"
а не в юникоде ли открываемый файл? (пожоже на заголовок оного)
http://delphimaster.net/view/2-1129763043/

> Задача такая: выстричь команду GO из файла со скриптами.
не надо так делать. GO ставится (в основном) как завершение логического блока, и последующие команды должны выполнятся при гарантированном завершении предыдуших. не всегда, но убирание GO и выполнение скрипта единым блоком, может привести к глюкам.

лучше сделать разбиение и выполнение этих блоков по GO отдельно, последовательно, так же как делает QA (для которого скрипт с ними в принципе и предназначен)


← →
string   (2005-11-13 13:54) [2]

Может быть в обрабатываемом файле нет одного из символов перевода строки ? (#13,#10)


← →
sniknik ©   (2005-11-13 13:57) [3]

p.s.
http://delphimaster.net/view/2-1129763043/


← →
gdaujk ©   (2005-11-13 14:03) [4]

По-моему надо заменить у переменной SList тип на TStrings.


← →
Ольга   (2005-11-13 14:18) [5]

Да, именно в юникоде и был создан скрипт. Пересобрала скрипт в windows кодировке. Строки считались. И тут же наткнулась на ошибку при создании триггера. В общем, все о чем вы, sniknik, меня предупреждали и случилось.
Буду выполнять скрипт поблочно. Спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
2-1131771517
Dimich1978
2005-11-12 07:58
2005.12.04
Раскраска


3-1128271929
menart
2005-10-02 20:52
2005.12.04
Как законектится к MSSQL используя ADO с другим именем пользовате


3-1129882852
Боря
2005-10-21 12:20
2005.12.04
Filter в StoredProcedure


3-1129924227
zig
2005-10-21 23:50
2005.12.04
sqlduery.params.parambyname( pf2 ).asstring >>> error 22018


14-1131982306
Marser
2005-11-14 18:31
2005.12.04
Любимый метод сортировки




   Наверх