![]() |
|
Модераторы: gambit |
![]()
|
|
| tatbesidovska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
Подскажите, пожалуйста! Как можно на C# реализовать такой пример
Пример: есть текстовый файл txt с данными, который надо перенести в базу данных: 1203 Иванов 12000 1402 сидоров 5000 в результате экспорта этих данных должна получится база с полями: ТБН ФИО Сумма 1203 Иванов 12000 1402 сидоров 5000 Заранее спасибо! |
|||
|
||||
| MasterOfCode |
|
|||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Пишешь Парсер текстового файла. Считываешь его в своей программе. Подключаешься к БД Access Вставляешь значения в БД. -------------------- ![]() |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
а к чему ексель в названии указан?
|
|||
|
||||
| tatbesidovska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
ой, извиняюсь, я перепутала, файл не текстовый, а xls
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
самый не продуктивный подход. в windows полным полно драйверов с помощью которых можно работать с любым удобоваримым файлом как с БД. А уж работа с txt, xls, csv - это нынче не должно быть проблемой. проще простого. тыц сюды |
|||
|
||||
| MasterOfCode |
|
||||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Есть стандартное решение работы с файлом такого вида:
-------------------- ![]() |
||||
|
|||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
||||
|
||||
| MasterOfCode |
|
|||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Этот блок, как набор параметров описания исследования. Его нужно распарсить и хранить значения, в зависимости от задач загрузить в БД или сохранить в файл. Таблица ~ASCII как значения параметров исследования приборами. Это сообщение отредактировал(а) MasterOfCode - 23.11.2010, 13:37 -------------------- ![]() |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
ок. в данном случае, как я понимаю, заголовок является управляющей логикой. его же ты в БД или иное хранилище не помещаешь.
а вот то что идет ниже вполне структурированные данные которые отлично импортируются через имеющиеся дрова. все эти вещи хорошо настраиваются. пойми - я же тебя не в чем не убеждаю и не упрекаю - хочешь писать парсеры - да ради Бога просто я на этом деле собаку съел. был случай когда мне в БД приходилось раз в три минуты вставлять данные из шести метрового текстового файла, кстати очень схожей конструкции. в данном случае пока бы я его парсил очень могла бы возникнуть очередь. |
|||
|
||||
| MasterOfCode |
|
|||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Как раз помещаю. Я писал парсер который за доли секунд этот файл считывает. Файлы там в среднем по 2,5-3 Мб. Бывают и по 20. -------------------- ![]() |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
||||
|
||||
| MasterOfCode |
|
|||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Такова специфика. В нефтяную скважину опускают прибор, и он снимает показания каждые 10 см. И так на протяжении 3-3,5 км. При одном исследовании могут проводить 20-25 спуск-подъемов разных приборов. И все это пишут в один файл. Вот так. А мы потом их считывай и в БД загружай. В среднем конечно они не такие огромные, но встречаются и такие, не редко. -------------------- ![]() |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
кстати - это стандартный костыль - для связи промышленных устройств с хранилищами данных. хотя встречал уже девайсы которые сами могут писать в субд( либо по Ethernet, либо по Wi-Fi). хотя конечно это помогает не всегда. думаю нефтяная скважина из этой оперы. |
|||
|
||||
| tatbesidovska |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
Реализовала так:
Строка подключения: string _conn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", _filename); Запрос: _command.CommandText = @"SELECT * INTO [MS Access;Database=C:\Avans\Tabel.mdb].[Tabel] FROM [Лист1$]"; Проблемка такая: Если на листе Excel были сделаны какие-то изменения, в том числе добавлялись записи, а затем эти записи очищались, а не удалялись, то при переносе в базу данных строки с очищенными данными попадают в базу со значением в поле «0», либо в базу добавляются просто пустые строчки. Как можно прописать в запросе, чтобы выборка данных из листа Excel была по диапазону, ограниченному пустыми строками и столбцами. Можно конечно сделать по определенному диапазону, например написав так:....FROM [Лист1$A1:E35], но к сожалению диапазон может каждый раз меняться. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |