![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Делаю SQL запрос INSERT.
В результате в файл XLS вставляются значения с апострофом. Как это исправить? Причем если в файле уже есть корректные записи, то вставляет последующие нормально, если нет - то с апострофом. Создал файл, если его нет: Код:
XL.WorkBooks.add;
XL.Sheets[1].Name := 'New';
XL.Cells(1,1) := 'ID';
XL.Columns[1].NumberFormat := 0;Пытаюсь записать туда данные: Код:
ADOQuery2.SQL.Add('insert into [New$] (ID) values (' + newid + ')');newid - integer не помогает да же указание типа: Код:
ADOQuery2.SQL.Add('insert into [New$] (ID) values (int(' + newid + '))');Если newid = 5, то в Excel вставляет '5 Появляется апостроф. Хотя преобразования типа в запросе есть. При создании файла указал формат данных столбца. |
|
#2
|
||||
|
||||
|
Вроде вообще не должно компилиться это
Код:
ADOQuery2.SQL.Add('insert into [New$] (ID) values (' + newid + ')'); |
|
#3
|
|||
|
|||
|
Цитата:
Код:
ADOQuery2.SQL.Add('insert into [New$] (ID) values (int(' + inttostr(newid) + '))');Проблема то не в этом |
|
#4
|
||||
|
||||
|
Цитата:
Код:
XL.Columns[1].NumberFormat := ''; |
|
#5
|
|||
|
|||
|
нет. так не работает.
Еще я попытался передавать ID через параметр с типом ftInteger и ftFloat. Не сработало. После каких-то манипуляций(а их было много разных), я перестал видеть апострофы при открытии Excel, но тем не менее вставляемые числа преобразуются в числа сохраненные как текст. |
|
#6
|
|||
|
|||
|
Если я вручную вставлю число в XLS, и проставлю формат ячейки "число".
Селект возвращает - число. Последующие INSERT вставляют число. Если я вручную проставлю формат, но без вставки числа. Он мне возвращает String. Последующие INSERT вставляют строку. Если я через OLE проставлю формат, и вставляю число. Последующие INSERT вставляют число. Все свелось к тому, что ошибочно работает только с первой записью и если первая запись некорректно завелась, то последующий то же заведутся не правильно. |