Вверх ↑
Этот топик читают: Гость
Ответов: 3655
Рейтинг: 69
#31: 2007-04-11 17:39:26 ЛС | профиль | цитата
Alexbootch,
Ага работает.
карма: 0

0
Ответов: 1891
Рейтинг: 110
#32: 2007-04-12 00:16:19 ЛС | профиль | цитата
Вячеслав, писал(а):
Alexbootch,
Ага работает.


ну и хорошо!

[size=-2]------ Добавлено в 00:16
Да кстати, что бы определить какие все-таки типы данных в полях можно воспользоваться таким запросом:

select rowid, typeof(name),typeof(tab),typeof(desc),typeof(version),typeof(hasinfo),typeof(workFPC),typeof(workD4),typeof(comment),typeof(type),typeof(author) from elements;


Получаешь результат:
idtypeof(name)typeof(tab)typeof(desc)typeof(version)typeof(hasinfo)typeof(workFPC)typeof(workD4)typeof(comment)typeof(type)typeof(author)
1texttexttexttexttexttexttexttexttextnull
2texttexttexttexttexttexttexttexttextnull
3texttexttexttexttexttexttexttexttexttext
5texttexttexttexttexttexttexttexttexttext



Посмотри, отличается от заданного:


CREATE TABLE elements(id INTEGER PRIMARY KEY AUTOINCREMENT, name varchar(64)
UNIQUE, tab varchar(64), desc varchar(64), version varchar(20), hasinfo varchar(64),
workFPC varchar(10), workD4 varchar(10), comment memo(255), type CHAR(1), author varchar(64))


А почему? Да потому что:

ТИПЫ ДАННЫХ ПОЛЕЙ ТАБЛИЦ В SQLite - ДЕКЛАРАТИВНЫЕ т.е. независимо от того какой тип данных для поля был указан при создании таблицы в этом поле могут сохраняться значения разных типов, при этом SQLite сам определяет тип данных для сохранения значения поля. Задание типа данных поля таблицы при создании указывает SQLite на предпочтительный тип данных для сохренения значений.

Чтобы избежать путаницы для типов данных полей таблиц лудше использовать базовые типы данных SQLite.

INTEGER - Числовой тип данных (целые положительные или отрицательные числа). Данный тип данных имеет переменный размер 1,2,3,4,6 или 8 байтов. Максимальный размер для данных данного типа состовляет 8 байтов и может хранить числовые значения в диапазоне [-9223372036854775808,-1,0,1,-9223372036854775807]. SQLite автоматически изменяет размер данного типа данных в зависимости от значения.

REAL - Числовой тип данных имеющий размер 8 байтов и может хранить любые (в том числе и не целые) числа.

TEXT - Текстовый тип данных который может хранить текстовые строки произвольной длины в кодировке UTF-8 или UTF-16. Максимальная длина строки для данного типа данных не лимитирована. Этот же тип данных используется для хранения даты и времени.

BLOB - Тип данных для хранения двоичных объектов. Максимальный размер данных данного типа не лимитирован.

карма: 0
%time%
0
Ответов: 3655
Рейтинг: 69
#33: 2007-04-12 01:18:42 ЛС | профиль | цитата
Alexbootch,
М..да по идеи зачем тогда указывать если он сам определяет.
карма: 0

0
Ответов: 1891
Рейтинг: 110
#34: 2007-04-12 01:25:58 ЛС | профиль | цитата
Вячеслав, писал(а):
Alexbootch,
М..да по идеи зачем тогда указывать если он сам определяет.


Вячеслав, можешь указывать INTEGER, REAL, TEXT, BLOB, NULL - это SQLite поймет .
карма: 0
%time%
0
Ответов: 5446
Рейтинг: 323
#35: 2007-04-12 10:08:40 ЛС | профиль | цитата
Alexbootch, А вот и фиг! SQLite достаточно умный, чтобы понимать стандартные для SQL обозначения типов данных (varchar, char, memo, ...). Почитай повнимательнее документацию, там чётко сказано - если в названии типа есть подстрока "char", то SQLite будет считать, что это поле типа "text"

Вячеслав писал(а):

М..да по идеи зачем тогда указывать если он сам определяет.


А затем, чтобы операторы сравнения <, >, <=, >= правильно работали (т.е. чтобы числа сравнивались как числа, а не как строки)! Подробности в документации.
карма: 1

0
Ответов: 1891
Рейтинг: 110
#36: 2007-04-13 02:36:19 ЛС | профиль | цитата
Подкорректировал схему для экспорта таблиц из базы данных SQLite в формат HTML и добавил возможность редактирования таблицы в браузере IE
карма: 0
%time%
0
файлы: 1SQLiteHTML2.rar [2.3KB] [225]
Ответов: 8926
Рейтинг: 823
#37: 2007-04-13 10:55:56 ЛС | профиль | цитата
Alexbootch, у меня небольшая проблема: имеются документы в формате *.htm (несколько десятков в день), форма документа от меня не зависит и предназначена для просмотра глазками, мне надо вытащить оттуда информативную часть и записать её в Excel в порядке, удобном для дальнейшей обработки. Вот небольшой кусочек, открытый в блокноте:
<TR>
<TD HEIGHT=23></TD>
<TD COLSPAN=11 CLASS=c14>&#1042;&#1099;&#1087;&#1080;&#1089;&#1082;&#1072; &#1080;&#1079; &#1088;&#1072;&#1089;&#1095;&#1077;&#1090;&#1085;&#1086;&#1075;&#1086; &#1089;&#1095;&#1077;&#1090;&#1072;</TD>
<TD COLSPAN=11 CLASS=c4>40702810100000001111</TD>
<TD CLASS=c5>&#1042;&#1072;&#1083;&#1102;&#1090;&#1072; :</TD>
<TD COLSPAN=17 CLASS=c4>&#1056;&#1086;&#1089;&#1089;&#1080;&#1081;&#1089;&#1082;&#1080;&#1081; &#1088;&#1091;&#1073;&#1083;&#1100;</TD>
</TR>



[size=-2]------ Добавлено в 10:55
Надо избавиться от ручного труда по переносу данных, к тому же чреватого ошибками
карма: 19

0
Ответов: 3655
Рейтинг: 69
#38: 2007-04-13 15:07:14 ЛС | профиль | цитата
Леонид, Ну вот и сразу в Эксель нет что бы в ХиАсм
карма: 0

0
Ответов: 1891
Рейтинг: 110
#39: 2007-04-13 19:10:16 ЛС | профиль | цитата
Леонид, писал(а):
Alexbootch, у меня небольшая проблема: имеются документы в формате *.htm (несколько десятков в день), форма документа от меня не зависит и предназначена для просмотра глазками, мне надо вытащить оттуда информативную часть и записать её в Excel в порядке, удобном для дальнейшей обработки. Вот небольшой кусочек, открытый в блокноте:


Леонид, а как имено Вы хотите это реализровать ?
карма: 0
%time%
0
Ответов: 8926
Рейтинг: 823
#40: 2007-04-13 20:37:58 ЛС | профиль | цитата
Alexbootch, предполагаю рассматривать по-символьно, отделяя управляющие команды и находя отдельно цифры и текст. При открытии документа в Excel очень много объединённых ячеек и по вертикали и по горизонтали перекрывающих друг друга, в разных строках количество объединённых ячеек разное, ни фильтра, ни регулярной структуры не применишь, (сидят где-то наверху полуграмотные спецы и рассылают свои опусы для обязательного исполнения ), в Word тоже графы друг на друга наползают, поэтому я и прошу помощи, с *.htm ранее не сталкивался, вот и прошу подкинуть идейку
карма: 19

0
Ответов: 5446
Рейтинг: 323
#41: 2007-04-13 21:00:43 ЛС | профиль | цитата
Alexbootch, где-то пробегала схема Galkov-а, преобразовывавшая &xxxx; в буквы. Среди примеров от Астрамака она тоже проходила, если найду- выложу.
карма: 1

0
Ответов: 8926
Рейтинг: 823
#42: 2007-04-13 21:17:55 ЛС | профиль | цитата
iarspider, с кодами проблемы нет
карма: 19

0
Ответов: 5446
Рейтинг: 323
#43: 2007-04-13 22:03:23 ЛС | профиль | цитата
Леонид, тогда всё куда проще.
Шаг 1. Привести &XXXX; в божеский вид
Шаг 2. Сделать так, чтобы на одной строке был либо тег (<tr>, <td>, ...), либо текст
Шаг 3. Таблицу гнать в CSV (comma-separated values)
Шаг 4. Через doShellExecute вызывать на CSV-файл эксель

Дальше, видимо, только ручной copy-paste (либо пишите ИИ в ИК для разбора )
карма: 1

0
Ответов: 8926
Рейтинг: 823
#44: 2007-04-13 22:56:12 ЛС | профиль | цитата
iarspider, прошу прощения, но что такое CSV (comma-separated values)
Задачку почти решил, внимательно рассматривая эти файлы, открытые одновременно в Блокноте, в Word и в Excel, благо в HiAsm достаточно текстовых функций, но вдруг это самое CSV (comma-separated values) упростит решение
карма: 19

0
Ответов: 1891
Рейтинг: 110
#45: 2007-04-14 00:07:39 ЛС | профиль | цитата
Леонид, писал(а):
iarspider, прошу прощения, но что такое CSV (comma-separated values)


Леонид, это текстовой файл в формате CSV (разделители - запятые)
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)