|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.08.2013, 11:38 | #1 |
Регистрация: 19.07.2009
Сообщений: 6
|
Excel и ADO
Доброго времени суток товарищи!
Подключаюсь к Excel через ADO и имею очень не приятную проблему с параметром IMEX в строке подключения. Данный параметр, насколько я понял, отвечает за типы данных, которые будут извлекаться из Excel, если IMEX=1, то все данные будут интерпретировать как текстовые, если IMEX=0 (по умолчанию) то тип данных будет вычислен по первым нескольким строкам. В моём случае он не правильно вычисляет тип данных для большинства столбцов, а это ведёт к тому, что я не могу прочитать эти данные. Т.е. для того что бы нормально работать с файлом я вынужден ставить IMEX=1 и всё хорошо до того момента, как я захочу записать данные. При попытке вызова UPDATE я получаю ошибку: "В операции должен использоваться обновляемый запрос." При IMEX=0 UPDATE работает "нормально". Почему в кавычках? Потому что те ячейки которые я не могу прочитать (на самом деле они читаются как пустые) из-за IMEX=0, я не могу и обновить, только тут уже выдаётся ошибка: "Невозможно обновить поле '(выражение)'; не обновляемое поле." Как можно решить эту проблему? Работать с Excel через Microsoft.Office.Interop.Excel чертовски медленно. Немного кода. Строка подключения: string constr = String.Format("Provider=Microsoft.J et.OLEDB.4.0;Mode=ReadWri te;Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"; Data Source={0}", filename); UPDATE: string select = String.Format("UPDATE [{0}] SET {1} = {2} WHERE {3} = {4}", sheet, fieldName, value, filterField, filterValue); command.CommandText = select; command.ExecuteNonQuery(); Последний раз редактировалось Predatore; 06.08.2013 в 11:41. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключения к Excel исполбзуя ADO: разные версии файлов excel | VVkSoft | БД в Delphi | 0 | 27.09.2012 00:34 |
ADO и Excel берется первая строка | Tomatos | БД в Delphi | 3 | 17.02.2011 19:25 |
ADO + бд в Excel | Aiden | Microsoft Office Excel | 3 | 20.04.2010 18:37 |
Вставка данных в Excel через ADO | Slava | БД в Delphi | 4 | 19.07.2009 22:22 |