Текущий архив: 2006.05.07;
Скачать: CL | DM;
ВнизTTable Найти похожие ветки
← →
DimMih © (2006-04-19 17:04) [0]Работаю с компопентом TTable, у которого есть свойство TableType= ttASCII - текстовая таблица, в которой поля разделяются запятыми и заключаются в кавычки. Т.е. есть текстовый файл(текстовая таблица) данные из которого нужно перебросить в таблицу базы данных SQL. Вот файл и код
"Заготівельна дільниця","Иванов В. О.","01.03.06","2:14:44"
"Заготівельна дільниця","Башинський И. А.","01.03.06","8:02:44"
"Заготівельна дільниця","Петренко В. К.","01.03.06","8:14:44"if OpenDialog1.Execute then
В процессе выполнения программы происходит ошибка. Подскажите пожалуйста в чём ошибка?
VremjaTable:=TTable.Create(nil);
with VremjaTable do begin
Active:=false;
TableName:=OpenDialog1.FileName;
TableType:=ttASCII;
end;
try
VremjaTable.Open;
VremjaTable.First;
while not VremjaTable.Eof do begin
if InsertQuery.Active then InsertQuery.Active:=false;
InsertQuery.Parameters[0].Value:=VremjaTable.Fields[0].Value;
InsertQuery.Parameters[1].Value:=VremjaTable.Fields[1].Value;
InsertQuery.Parameters[2].Value:=VremjaTable.Fields[2].Value;
InsertQuery.Parameters[3].Value:=VremjaTable.Fields[3].Value;
InsertQuery.ExecSQL;
VremjaTable.Next;
end;
← →
Desdechado © (2006-04-19 17:22) [1]шел по улице, стукнули по голове
подскажите, за что?
← →
Плохиш © (2006-04-19 17:26) [2]
> В процессе выполнения программы происходит ошибка. Подскажите
> пожалуйста в чём ошибка?
T.e. ты предлагаешь нам установить mssql-сервер, делфи, создать базу данных, в этой базе какую-нибуть таблицу, создать проект в делфи, вставить туда твой код, попытаться его выполнить и если возникнет ошибка, то постараться её решить и о решении сообщить тебе? Хорошо я готов за это взяться, но только после предоплаты 2000 евро.
← →
DimMih © (2006-04-19 17:32) [3]При присвонии значения первого параметра запроса выдается ошибка "List index out of bounds (0)".
← →
Плохиш © (2006-04-19 17:34) [4]Параметров в sql-запросе нет.
← →
DimMih © (2006-04-19 17:38) [5]А это не параметры????
if InsertQuery.Active then InsertQuery.Active:=false;
InsertQuery.Parameters[0].Value:=VremjaTable.Fields[0].Value;
InsertQuery.Parameters[1].Value:=VremjaTable.Fields[1].Value;
InsertQuery.Parameters[2].Value:=VremjaTable.Fields[2].Value;
InsertQuery.Parameters[3].Value:=VremjaTable.Fields[3].Value;
InsertQuery.ExecSQL;
← →
Плохиш © (2006-04-19 17:41) [6]
> А это не параметры????
Нет. Это попытка присвоить что-то коллекции Parameters. Но вот это "List index out of bounds (0)" говорит, что в коллекции элементов нет. Начни читать чего-нибуть.
← →
DimMih © (2006-04-19 17:47) [7]
Insert into WorkTime
( Uchastok, Ispolnitel, Data, Vremja) values
( :Uchastok, :Ispolnitel, :Data, :Vremja)
← →
Desdechado © (2006-04-19 17:54) [8]и где оно в тексте?
← →
Плохиш © (2006-04-19 17:59) [9]
> DimMih © (19.04.06 17:47) [7]
Так чему равно InsertQuery.Parameters.Count?
PS. А из строчкиif InsertQuery.Active then InsertQuery.Active:=false;
проверку можно выкинуть, да и саму строчку надо вынести за цикл.
← →
YurikGL © (2006-04-19 21:55) [10]
> DimMih © (19.04.06 17:47) [7]
Приведи код целиком с
> Insert into WorkTime
> ( Uchastok, Ispolnitel, Data, Vremja) values
> ( :Uchastok, :Ispolnitel, :Data, :Vremja)
и последующим присвоением параметров.
← →
DimMih © (2006-04-20 09:29) [11]Для Desdechado:"Оно в компоненте"
← →
DimMih © (2006-04-20 09:43) [12]Уважаемый YurikGL, текст запроса находится не в самом коде, а в компоненте TADOQuery. Проблема я думаю в "текстовой таблице". При открытии таблицы не определяются её поля. VremjaTable.FieldCount=1, а должно быть 4
← →
YurikGL © (2006-04-20 22:42) [13]
> DimMih © (20.04.06 09:43) [12]
Попробуйте его явно присвоить перед присвоением параметров... Если не получится - приведите код
Страницы: 1 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c