powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Экспорт
12 сообщений из 12, страница 1 из 1
Экспорт
    #32353777
loki128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! При выполнении следующего кода, выдается ошибка - Синтактическая
ошибка, неполный запрос. Где грабли?

//Здесь ADOExcel таблица TADOTable
//Для неё ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\exc.xls;Extended Properties=Excel 8.0;Persist Security Info=False"
//А TableName = "'Результат (стр# 1) '"

TADOCommand *ADOCommand = new TADOCommand(ADOExcel);

String FieldNames = "*",
SheetName = "'Нов$'",
FileName = "d:\\temp.xls",
IsamFormat = "Excel 8.0";

ADOExcel->Active = true;

ADOCommand->ConnectionString = ADOExcel->ConnectionString;

ADOCommand->CommandText = "Select " + FieldNames + " INTO " + "[" + SheetName + "]" + " IN " + "\"" + FileName + "\"" + " [" + IsamFormat + ";]" +
" From " + ADOExcel->TableName;

ADOCommand->Execute();

ADOExcel->Active = false;

delete ADOCommand;
...
Рейтинг: 0 / 0
Экспорт
    #32353884
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что это за странное сочетание:"SELECT" и "INTO"?
...
Рейтинг: 0 / 0
Экспорт
    #32353933
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cauchy
SELECT и INTO это нормальное сочетание (запрос на добавление).

loki128
Приведи, пожалуйста, текст получившегося запроса. Разве интерпретатор я тексту твоему? :)
...
Рейтинг: 0 / 0
Экспорт
    #32353950
loki128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT * INTO ['Нов$'] IN "d:\temp.xls" [Excel 8.0] From 'Результат (стр# 1)'
...
Рейтинг: 0 / 0
Экспорт
    #32357090
_Konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторSELECT * INTO ['Нов$'] IN "d:\temp.xls" [Excel 8.0] From 'Результат (стр# 1)'
Это чего за запрос такой??? Почему имена таблиц в одинарных кавычках? Это же не символьные константы. SELECT INTO IN??? Пардон за грубость, но что это за бред??
...
Рейтинг: 0 / 0
Экспорт
    #32357110
DJStealth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напиши:
SELECT * FROM ['Нов$'] IN "d:\temp.xls" [Excel 8.0] From 'Результат (стр# 1)'
Это не правильно: ['Нов$']
надо [Имя_Листа$] (Без ковычек)
--
...
Рейтинг: 0 / 0
Экспорт
    #32357123
DJStealth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тьфу сам ошибся
строка подключения драйвера
Код: plaintext
{Microsoft Excel Driver (*.xls)};DBQ= "+ПУТЬ_К_ФАЙЛУ+" ; DriverID= 790 ";

Запрос на открытие:
Код: plaintext
SELECT * FROM ['Нов$'] 
можеш здесь еще условия отбора и сортировки написать. но IN не надо

--
...
Рейтинг: 0 / 0
Экспорт
    #32357236
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Konst
Это чего за запрос такой??? Почему имена таблиц в одинарных кавычках? Это же не символьные константы. SELECT INTO IN??? Пардон за грубость, но что это за бред??

Ты не только грубишь, но и демонстрируешь свою полную некомпетентность.
Специально для тебя:

Инструкция SELECT...INTO
Создает запрос на создание таблицы.

SELECT поле_1[, поле_2[, ...]] INTO новаяТаблица [IN внешняяБазаДанных]
FROM источник

Ниже перечислены аргументы инструкции SELECT...INTO:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
поле_1, поле_2
	Имена полей, которые следует скопировать в новую таблицу.
новаяТаблица
	Имя создаваемой таблицы.  Это имя должно удовлетворять
стандартным правилам именования.  Если новаяТаблица совпадает с именем
существующей таблицы, возникает перехватываемая ошибка.
внешняяБазаДанных
	Путь к внешней базе данных.  Более подробные сведения об этом
аргументе можно найти в описании предложения IN.
источник
	Имя существующей таблицы, из которой отбираются записи.  Это
может быть одна таблица, несколько таблиц или запрос.

loki128
Я делал такой запрос для экспорта из dbf в Access. С Excel'ем мне экспериментировать не хочется.
Вот пример, который у меня работает:

SELECT Field1
INTO Table1
FROM [dBase III; database=c:\temp].dbFile.dbf

Т.е. тут внешняя база указана не в IN, а во FROM (это не значит, что IN вообще не работает, просто это у меня получилось).

Судя по хэлпу на IN, надо писать "Excel 8.0;" (в кавычках и с точкой с запятой).
...
Рейтинг: 0 / 0
Экспорт
    #32357244
DJStealth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой ВэйЯ делал такой запрос для экспорта из dbf в Access.
а как насчет разных кодировок, и мемо полей?
Я сейчас занимаюсь нем же и мне эта тепа очень интересна
--
...
Рейтинг: 0 / 0
Экспорт
    #32357272
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DJStealth
Извини, чего не было, того не было.
Я этим занимался для
ускорения
записи
результатов
работы
расчётной программы (уф! :) ), там были только числа.

Зато dbf-файл делал руками (программно).
...
Рейтинг: 0 / 0
Экспорт
    #32357805
DJStealth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вчера посидел потренировался вот полный запрос на выборку из ёхела:
Код: plaintext
1.
SELECT *  INTO excell
FROM [Excel  5 . 0 ;HDR=NO;IMEX= 2 ; database=D:\qwe\Прайсы\Фирмы\генезис.XLS].['18_09_2003$']

D:\qwe\Прайсы\Фирмы\генезис.XLS - файл
18_09_2003 - название листа
--
...
Рейтинг: 0 / 0
Экспорт
    #32358635
_Konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну извините, если был не прав.
Но чего-то мне в msdn не попалось ни единого раза указанного способа использования IN. Использование ключевого слова в несколько разных смыслах отдает чем-то нехорошим.
А запрос типа
Код: plaintext
SELECT *  INTO excel FROM [Excel  5 . 0 ; database=D:\Projects\DB\file.xls].[list$] 

Действительно проходит. Это здорово.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Экспорт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]