Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2010, 09:52   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Непростая загрузка из CSV файла в StringGrid, а затем в БД

Доброе утро! Нужна помощь в решение вопроса, связанного с необычной загрузкой из CSV файла в StringGrid. Сейчас поясню. Итак, есть CSV файл. Называется он 1.csv. Из него нужно загрузить данные в StringGrid, а затем в таблицу БД. Но я не могу придумать на данный момент, какой должна быть таблица в БД, чтобы все было правильно. И нужно ли тут использовать БД вообще? В StringGrid-e должно получиться примерно так как в файле "Результата в StringGrid-e". Посоветуйте мне что-нибудь по делу?
Вложения
Тип файла: zip 1.zip (609 байт, 39 просмотров)
Тип файла: zip Результат в StringGrid-e.zip (447 байт, 39 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.09.2010, 10:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты не хочешь использовать CSV как базу через соответствующий провайдер ADO
(а точнее ODBC)?
Там есть такой, и работай с CSV своим как с обычной таблицей
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.09.2010, 10:07   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Как базу? Разве можно так? Не знал. А можно подробнее, Stilet?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.09.2010, 13:37   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Океюшки.
1) Кидаем на форму ADOQuery
2) открываем свойства ConnectionString
3) Выбираем пров. ODBC
4) Ставим галку "Использовать строку подключения"
5) Жмем Сборка
6) вводим имя DSN жмем Создать
7) Выбираем один из дров с поддержкой CSV (Например Microsoft Text Driver)
8) Дальше вводишь имя под которым нуна сохранить это твое подключение
9) Потом появляется окошко "Установка текстового драйвера"
10) в нем ты выбираешь свой файл CSV

Твоя строка подключения буит выглядеть так:
Код:
DBQ=C:\DOCUMENTS AND SETTINGS\5097\РАБОЧИЙ СТОЛ;
DefaultDir=C:\DOCUMENTS AND SETTINGS\5097\РАБОЧИЙ СТОЛ;
Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;
Extensions=txt,csv,tab,asc;FIL=text;
FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\CSV;MaxBufferSize=2048;
MaxScanRows=25;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;
А содержимое ConnectionString так:
Код:
Provider=MSDASQL.1;Persist Security Info=False;
Extended Properties="DBQ=C:\DOCUMENTS AND SETTINGS\5097\РАБОЧИЙ СТОЛ;
DefaultDir=C:\DOCUMENTS AND SETTINGS\5097\РАБОЧИЙ СТОЛ;Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;Extensions=txt,csv,tab,asc;FIL=text;
FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\CSV;
MaxBufferSize=2048;MaxScanRows=25;PageTimeout=5;SafeTransactions=0;
Threads=3;UID=admin;UserCommitSync=Yes;"
Дальше отчабучиваешь запрос в ADOQuery
Код:
Select * from Книга2.csv
И вуаля - перед тобой плоская таблица, как обычныая, но только источник ее файл CSV.

Все понятно? Там заумно немного и муторно, но один раз настроив мона пользоваться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.09.2010, 13:40   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А, то есть получается, что можно будет выполнять даже обычные SQL запросы?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.09.2010, 13:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что можно будет выполнять даже обычные SQL запросы?
Именно, Скайвокер, именно... )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.09.2010, 13:51   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Именно, Скайвокер, именно... )))
))))))
Вот, сделал как ты сказал! Подключиться и так далее получилось. Но, в DBGrid выводится все в кучу. Можно ли как-то разбить это по колонками также, как они представлены в самом CSV файле?
Изображения
Тип файла: jpg 123.jpg (15.6 Кб, 180 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.09.2010, 14:11   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно. Там в настройках на 9-м шаге кликни по кнопке "Параметры" Раскроется доппанель в ней все настраивается.
Укажи там разделитель не запятую а точкузапятую как у тебя в окне по кнопке "Определить формат".
Короче все там.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.09.2010, 14:34   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Добрался я до туда. Но так не сохраняются почему указанные мной параметры. Правильно же я указал?
Изображения
Тип файла: png 1.png (52.9 Кб, 287 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.09.2010, 14:38   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но так не сохраняются почему указанные мной параметры.
Я, дружище с этим делом не работал ни разу, так что только в теории знаю как и чего. Потыкай там сям и запомни что да как
Выставь в списке "формат" пункт Разделители CSV
I'm learning to live...

Последний раз редактировалось Stilet; 17.09.2010 в 14:41.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Macros -- данные из csv файла надо вставить в Excel sasha7676 Microsoft Office Excel 0 28.04.2010 19:14
сохранение\загрузка в компоненте StringGrid Lorden Помощь студентам 1 07.12.2009 17:11
Загрузка в StringGrid с помощью Query artemavd БД в Delphi 8 20.05.2009 20:31
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10
Экспорт в csv и импорт из csv cent Microsoft Office Excel 12 28.12.2008 19:50