Показано с 1 по 10 из 12
Тема: DELPHI & SQL
-
09.03.2010, 15:12 #1
- Регистрация
- 09.02.2010
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
DELPHI & SQL
Здравствуйте!
Возникла одна ситуация:
есть txt файл с логами->
10/30/09 09:19AM 204 03 89263829489 00:00'36
10/30/09 09:27AM 129 09 <INCOMING> 00:00'05
Date Time Ext CO Dial Number Duration
--------------------------------------------------------------------------
10/30/09 09:33AM 115 06 <INCOMING> 00:00'45
10/30/09 09:44AM 129 09 <INCOMING> 00:00'26
Как лучше считать данные в Б.Д. SQLИ
Соответствующие поля в таблице я создал: Data,Time,Ext,Co и т.д.
И ЕСТЬ ОДНО "НО"- ШАПКА С НАЗВАНИЕМ КОЛОНОК ПОВТОРЯЕТСЯ ЧЕРЕЗ НЕКОТОРОЕ РАЗНОЕ КОЛИЧЕСТВО ЗАПИСЕЙ!
-
09.03.2010, 15:34 #2
- Регистрация
- 09.03.2010
- Сообщений
- 16
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Лучше всего разбить строку на подстроки, игнорируя все, что является пробельным символом. Результат загнать в TStrings. Далее попробовать сконвертить первый элемент из списка в DateTime. Если удалось - это строка с данными. Гоним ее в базу обычным INSERT'ом. Если нет - игнорируем и продолжаем цикл.
-
09.03.2010, 15:46 #3
- Регистрация
- 09.02.2010
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
да я думал о примерно таком варианте.
взять целиком файл в массив. после искать строки начинающиеся с D и с дефиса их выбросить. далее разбить строку на подстроки, считать данные меж пробелов.
-
09.03.2010, 16:30 #4
- Регистрация
- 09.03.2010
- Сообщений
- 16
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Это будет двойная обработка, к тому же связанная с накладнымпи расходами на хранение изначально ненужных строк.
1-й проход - анализ всего массива и отброс мусорных строк.
2-й проход - обработка оставшихся строк с данными.
Это будет долго.
Проще так:
1. Бежим по всему файлу циклом while not EOF(FILE) do begin.....end
2. В каждой итерации цикла делаем то, что я ранее указал. Причем не делаем действия типа
Код:try ConvertToDateTime(...) except continue end
Код:var bResult: boolean; TryConvertToDateTime(...,bResult); if not bResult then continue;
-
09.03.2010, 22:17 #5
- Регистрация
- 09.02.2010
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
спасибо)
отпишусь позже.
-
10.03.2010, 08:56 #6
- Регистрация
- 09.03.2010
- Сообщений
- 16
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
kskb7771, отписывайся, приводя код - так быстрее найдем решение )) Удачи.
Человеку свойственно ошибаться. Но выводы из ошибок делают немногие. Увы...
-
11.03.2010, 20:36 #7
- Регистрация
- 09.02.2010
- Сообщений
- 12
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
С кодом тут неувязочка(((:(
если можно то в личку:
http://vkontakte.ru/id12280022
или
icq: 166-100-110
-
12.03.2010, 13:51 #8
- Регистрация
- 09.03.2010
- Сообщений
- 16
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
kskb7771, пиши в личку.
Человеку свойственно ошибаться. Но выводы из ошибок делают немногие. Увы...
-
29.03.2010, 13:12 #9
- Регистрация
- 27.02.2010
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
А красивей применить к обработкам строк регулярные выражения
-
-
29.03.2010, 14:17 #10
- Регистрация
- 09.03.2010
- Сообщений
- 16
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Демьян, и где в RTL регулярные выражения? Пример кода в студию.
Человеку свойственно ошибаться. Но выводы из ошибок делают немногие. Увы...
Похожие темы
-
MS SQL 2005 (2008) Developer
от Merkar в разделе ПолезностиОтветов: 23Последнее сообщение: 23.03.2016, 20:07 -
Серийники для MS SQL 2008
от ventura21 в разделе ПолезностиОтветов: 3Последнее сообщение: 23.10.2011, 12:22 -
Delphi+TChart
от Malish22 в разделе Прикладное программированиеОтветов: 0Последнее сообщение: 10.09.2009, 00:08 -
Delphi, TChart
от _58joints в разделе Прикладное программированиеОтветов: 1Последнее сообщение: 11.05.2009, 16:08 -
Lumigent LogExplorer (для востановления БД в SQL)
от Merkar в разделе ПолезностиОтветов: 0Последнее сообщение: 27.07.2008, 13:34
Социальные закладки