Вверх ↑
Этот топик читают: Гость
Ответов: 188
Рейтинг: 2
#1: 2018-03-12 10:57:15 ЛС | профиль | цитата
Ребят столкнулся с такой проблемой. Мне нужно было выгрузить с одной базы данных("в данном случае с программы товар деньги товар"), в другую базу данных мною созданную на sqlite.С горем пополам у меня это получилось, но получился такой сюрприз.
Через запрос
SELECT * From global

У меня отображается крокозябра в таблице. Я знаю что в этом виновата кодировка. Отсюда вопрос. Как мне изменить кодировку вывода в MtTable. гдето на просторах форума я находил компонет по кодировкам, тогда был не нужен а щас найти не могу. Ну или может можно менять кодировку как-то на стадии переноса данных с одной базы в другую?
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 4612
Рейтинг: 746
#2: 2018-03-12 12:22:41 ЛС | профиль | цитата
Компонент Charset после выборки из БД, Type=UTF8_ANSI.
карма: 26

0
Ответов: 16884
Рейтинг: 1239
#3: 2018-03-12 12:27:59 ЛС | профиль | цитата
zhorik5 писал(а):
У меня отображается крокозябра в таблице.

Или (сам не проверял !)
1. http://forum.hiasm.com/getfile/38314
или
2.

Add(SQLite_Query,15049911,126,126)
{
SQL="SELECT * FROM global;"
link(onQuery,14662179:doStr,[])
}
Add(Charset,14072145,231,126)
{
Type=7
link(onCharset,7435505:doAdd,[])
}
Add(MT_String,14662179,182,126)
{
link(onResult,14072145:doCharset,[])
}
Add(StringTable,7435505,294,126)
{
Left=290
Top=125
}

======================
Netspirit писал(а):
Компонент Charset после выборки из БД
Компонент Charset с MT работает ???

Редактировалось 5 раз(а), последний 2018-03-12 12:45:09
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4612
Рейтинг: 746
#4: 2018-03-12 12:50:50 ЛС | профиль | цитата
Tad писал(а):
Компонент Charset с MT работает ?
А, значит придётся вручную разбирать MT-поток, а после - собирать. Или
Tad писал(а):
(сам не проверял !)
(я проверял )
карма: 26

0
Ответов: 16884
Рейтинг: 1239
#5: 2018-03-12 12:55:24 ЛС | профиль | цитата
Netspirit писал(а):
я проверял
Верю
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#6: 2018-03-12 13:59:46 ЛС | профиль | цитата
zhorik5 писал(а):
Как мне изменить кодировку вывода в MtTable

У MTStrTbl для этого случая есть специальные точки
CodePageSet=На эту точку выдается подстрока при добавлении в таблицу для декодирования в нужную кодовую страницу. После декодирования, подстрока должна вернуться на эту же точку
CodePageGet=На эту точку выдается подстрока при получении из таблицы для декодирования в нужную кодовую страницу. После декодирования, подстрока должна вернуться на эту же точку

Редактировалось 1 раз(а), последний 2018-03-12 13:59:59
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2018-03-12 15:29:59 ЛС | профиль | цитата
nesco писал(а):
У MTStrTbl для этого случая есть специальные точки
Примерчик бы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#8: 2018-03-12 19:22:22 ЛС | профиль | цитата
Tad писал(а):
Примерчик бы


Схема

Add(MainForm,2953706,273,175)
{
}
Add(SQLite_Query,15049911,273,231)
{
SQL="SELECT * FROM global;"
link(onQuery,14863456:doRowAction,[])
}
Add(Charset,14072145,469,175)
{
Type=7
link(onCharset,14915785:doData,[(508,181)(508,167)(403,167)(403,181)])
}
Add(MTStrTbl,7778345,413,231)
{
Left=75
Top=70
Name="table"
link(CodePageSet,14915785:GetData,[])
}
Add(EventFromData,14915785,413,175)
{
link(onEvent,14072145:doCharset,[])
}
Add(MST_RowAction,14863456,329,231)
{
MSTControl="table"
}


Редактировалось 2 раз(а), последний 2018-03-12 19:23:41
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#9: 2018-03-12 20:39:22 ЛС | профиль | цитата
Дурдом
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#10: 2018-03-12 22:45:49 ЛС | профиль | цитата
Tad писал(а):
Дурдом

Зато не надо парсить, конвертировать и собирать обратно MT-строку.
карма: 22

0
Ответов: 188
Рейтинг: 2
#11: 2018-03-12 23:02:36 ЛС | профиль | цитата
извините.... но я не понял! вот пример выгрузки https://cloud.mail.ru/public/CuJP/C9pAwwXgk что нужно сделать чтоб было читабельно!

--- Добавлено в 2018-03-12 23:05:14

вообще мне в идеале нужно напрямую обращаться к firebird базе ТДТ по запросу делать выборку и в читаемом виде этот результат записывать у себе.

--- Добавлено в 2018-03-12 23:24:56

а вот это уже кое что получилось, вчера я не использовал этот MT_string и перекодирование не происходило я не знал что Charset с MT не работает. Спасибо!
Add(StringTableMT,6144122,441,119){
Left=340
Top=5
Width=430
Height=480
Columns=#5:id=20|7:имя=150|8:штрих=80|
StrDelimiter="\9"
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
}
Add(DS_SQLite,8126960,84,119)
{
Name="tdt"
FileName="./tdt.db"
link(onOpen,15503346:doQuery,[])
}
Add(DSC_Query,15503346,161,119)
{
SQL="SELECT * FROM tovar"
DSManager="tdt"
link(onQuery,14662179:doStr,[(233,125)(233,153)])
}
Add(Charset,14072145,364,154)
{
Type=7
link(onCharset,6144122:doAdd,[(418,160)(418,125)])
}
Add(MT_String,14662179,294,147)
{
Delimeter="\9"
link(onResult,14072145:doCharset,[(345,153)(345,160)])
}



Редактировалось 3 раз(а), последний 2018-03-12 23:33:26
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#12: 2018-03-12 23:33:12 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Point(onClose)
link(onCreate,8126960:doOpen,[])
link(onClose,8126960:doClose,[])
}
Add(StringTableMT,6144122,343,84)
{
Left=10
Top=5
Width=380
Height=255
Columns=#5:id=20|7:имя=150|8:штрих=80|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
}
Add(DS_SQLite,8126960,84,119)
{
Name="tdt"
FileName="./tdt.db"
link(onOpen,15503346:doQuery,[])
}
Add(DSC_Query,15503346,133,119)
{
SQL="SELECT * FROM tovar"
DSManager="tdt"
link(onQuery,10760953:doStr,[])
}
Add(Charset,1829719,217,119)
{
Type=7
link(onCharset,7547574:doMT,[(261,125)(261,132)])
}
Add(MT_String,10760953,175,119)
{
link(onResult,1829719:doCharset,[])
}
Add(MT_String,7547574,273,119)
{
link(onResult,6144122:doMT_Add,[])
}


Редактировалось 1 раз(а), последний 2018-03-12 23:39:22
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#13: 2018-03-12 23:35:16 ЛС | профиль | цитата
а почему данные штрих видоизменились?

--- Добавлено в 2018-03-12 23:38:35

это происходит после преобразования в многомерный поток.

Редактировалось 1 раз(а), последний 2018-03-12 23:38:35
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#14: 2018-03-12 23:42:10 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Point(onClose)
link(onCreate,8126960:doOpen,[])
link(onClose,8126960:doClose,[])
}
Add(StringTableMT,6144122,343,84)
{
Left=10
Top=5
Width=380
Height=255
Columns=#5:id=20|7:имя=150|8:штрих=80|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
}
Add(DS_SQLite,8126960,84,119)
{
Name="tdt"
FileName="./tdt.db"
link(onOpen,15503346:doQuery,[])
}
Add(DSC_Query,15503346,133,119)
{
SQL="SELECT * FROM tovar"
DSManager="tdt"
link(onQuery,10760953:doStr,[])
}
Add(Charset,1829719,217,119)
{
Type=7
link(onCharset,7547574:doMTString,[(261,125)(261,139)])
}
Add(MT_String,10760953,175,119)
{
link(onResult,1829719:doCharset,[])
}
Add(MT_String,7547574,273,119)
{
link(onResult,6144122:doMT_Add,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#15: 2018-03-12 23:42:31 ЛС | профиль | цитата
все. допер. не на ту точку было подключено с Charset на MT_string. щас работает как надо

--- Добавлено в 2018-03-12 23:43:43

Супер отлично!!!

--- Добавлено в 2018-03-12 23:48:30

Остается открыт еще вопрос. могу новую тему создать!
вообще мне в идеале нужно напрямую обращаться к firebird базе ТДТ по запросу делать выборку и в читаемом виде этот результат записывать у себе.
как это сделать хотяб локально не говоря уж по сети!
да и честно говояря мои познания в устройстве sql баз оставляют желать лучшего. я никогда не видел такого устройства. там похоже все на индексах и данные в чистом виде встречаются конечно но как их достать от туда через запрос.

Редактировалось 2 раз(а), последний 2018-03-12 23:48:30
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)