Вверх ↑
Этот топик читают: Гость
Ответов: 186
Рейтинг: 9
#31: 2010-09-24 09:55:22 ЛС | профиль | цитата
Да все дело в libmySQL.dll.
Просто я его с инета слил, а в HiASM он другой, вот и парюсь.
Nic, может сможешь подсказать по выводу инфы в таблицу(если другой вариант не как в примере)
В SQLite мне очень нравился SQLite_Query слева подал запрос, справа получил результат, и в MTStrTbl или в StringTableMT на doMT_Add

карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#32: 2010-09-24 10:39:01 ЛС | профиль | цитата
А чем такой не подходит?
MysqlQueryExample


Add(Edit,3956619,112,98)
{
Left=125
Top=45
Width=105
Text="mysql_server"
}
Add(Edit,11152873,154,98)
{
Left=235
Top=45
Width=105
Text="User"
}
Add(Edit,11620100,196,98)
{
Left=345
Top=45
Width=105
Text="pass"
}
Add(Edit,6718175,238,98)
{
Left=455
Top=45
Width=105
Text="DBname"
}
Add(dbMySQL,13344201,168,168)
{
Charset=5
link(Host,3956619:Text,[(174,147)(118,147)])
link(Login,11152873:Text,[(181,142)(160,142)])
link(Password,11620100:Text,[(188,142)(202,142)])
link(DBName,6718175:Text,[(195,147)(244,147)])
link(onError,16767343:doMessage,[])
}
Add(Button,6105743,91,168)
{
Left=15
Top=45
Width=105
Caption="Connect"
link(onClick,1640488:doEvent1,[])
}
Add(Message,16767343,238,168)
{
Caption="Error"
Icon=1
}
Add(StringTable,82693,238,217)
{
Left=15
Top=95
Width=545
Height=285
Color=16777215
Font=[Arial,8,0,0,1]
Columns=#2:ID|1:1|1:2|1:3|
StrDelimiter="/0"
ClearAll=0
Redaction=1
Point(doAddColumn)
Point(StringTable)
Point(onColumnClick)
}
Add(dbMySQL_Query,2152312,168,231)
{
link(onResult,13153837:doShow,[(211,237)(211,212)(150,212)(150,286)])
link(dbHandle,13344201:dbHandle,[])
}
Add(dbMySQL_ShowQuery,13153837,168,280)
{
link(Rows,2152312:Rows,[])
link(Fields,2152312:Fields,[])
link(StringTable,82693:StringTable,[(188,271)(258,271)])
}
Add(Button,2836105,42,280)
{
Left=15
Top=70
Width=105
Caption="Query"
link(onClick,6730267:doData,[])
}
Add(Edit,3511501,91,231)
{
Left=125
Top=70
Width=435
Text="SELECT * FROM MyTable LIMIT 10;"
}
Add(Hub,1640488,133,168)
{
link(onEvent1,13344201:doOpen,[])
link(onEvent2,13344201:doSelectDB,[(157,181)(157,188)])
}
Add(DoData,6730267,91,280)
{
link(onEventData,2152312:doQuery,[(145,286)(145,237)])
link(Data,3511501:Text,[])
}
Add(Label,7581483,112,49)
{
Left=125
Top=25
Width=29
Height=17
Caption="Host:"
}
Add(Label,14293903,154,49)
{
Left=235
Top=25
Width=33
Height=17
Caption="Login:"
}
Add(Label,11268331,196,49)
{
Left=345
Top=25
Width=53
Height=17
Caption="Password:"
}
Add(Label,9257129,238,49)
{
Left=455
Top=25
Width=53
Height=17
Caption="Database:"
}
------------ Дoбавленo в 10.26:
Вот компонент-схема, подобный компоненту ODBC, но предназначен для работы с MySQL: http://www.hiasm.com/sha/shatools.php?q=5&id=119
------------ Дoбавленo в 10.39:
Схема с использованием MySqlEx


Add(Edit,3956619,350,126)
{
Left=125
Top=45
Width=435
Text="SERVER=mysqlserver;UID=user;PWD=pass;DATABASE=DBname;charset=utf8;"
}
Add(Button,6105743,217,175)
{
Left=15
Top=45
Width=105
Height=45
Caption="Query"
link(onClick,6730267:doData,[])
}
Add(Message,16767343,406,196)
{
Caption="Error"
Icon=1
}
Add(StringTable,82693,406,126)
{
Left=15
Top=95
Width=545
Height=285
Color=16777215
Font=[Arial,8,0,0,1]
Columns=#2:ID|1:1|1:2|1:3|
ClearAll=0
Redaction=1
Point(doAddColumn)
Point(StringTable)
Point(onColumnClick)
}
Add(Edit,3511501,266,126)
{
Left=125
Top=70
Width=435
Text="SELECT * FROM MyTable LIMIT 10;"
}
Add(Hub,1640488,315,175)
{
OutCount=3
link(onEvent1,15578190:doConnect,[])
link(onEvent2,15578190:doQuery,[])
link(onEvent3,15578190:doClose,[(339,195)(339,202)])
}
Add(DoData,6730267,266,175)
{
link(onEventData,1640488:doEvent1,[])
link(Data,3511501:Text,[])
}
Add(Label,7581483,350,84)
{
Left=125
Top=25
Width=139
Height=17
Caption="Connection string:"
}
Add(MultiElementEx,15578190,350,175)
{
@Hint=#19:MySQL - analog ODBC|
link(onResult,82693:doAdd,[(394,181)(394,132)])
link(onError,16767343:doMessage,[])
link(ConnectionString,3956619:Text,[])
}
BEGIN_SDK
Add(EditMultiEx,8628394,21,21)
{
WorkCount=#30:doConnect=Установка соединения|42:doQuery=Выполнить запрос на выборку данных|43:doExec=Выполнить запрос на изменение данных|26:doClose=Закрыть соединение|
EventCount=#69:onResult=Выдача результата запроса (по строчно через точку с запятой)|107:onRowCount=Происходит после выполнения запроса на изменение и содержит в потоке количество измененных полей|106:onGetBlob=Происходит на каждое вхождение в запрос бинарного поля с именем, предваряемым символом двоеточия|134:onError=Происходит если произошла какая-либо ошибка в работе компонента и содержит в потоке номер ошибки (0 - запрос не вернул данных)|
VarCount=#52:BlobStream=Бинарные данные, прочитанные из blob поля|
DataCount=#65:ConnectionString=Строка подключения (аналогичная компоненту ODBC)|42:Blob=Бинарный стрим для записи в blob поле|59:BlobIndex=Индекс бинарного поля в строке запроса на выборку|45:CodePage=Кодовая страница текущего соединения|
Width=517
Height=676
link(doConnect,8510714:doEvent1,[(39,55)])
link(doQuery,11718953:doCharset,[(100,419)])
link(doExec,5284960:doCharset,[])
link(doClose,1227772:doClose,[(35,223)])
link(BlobStream,961521:Blob,[])
}
Add(BlockFind,2965810,266,49)
{
IncludeBlock=1
StartBlock="DATABASE="
EndBlock=";"
link(onSearch,9209210:doValue,[])
link(Text,11115750:Var3,[(272,30)])
}
Add(GlobalVar,9209210,329,49)
{
Name="db"
}
Add(GlobalVar,5084853,322,175)
{
Name="password"
}
Add(GlobalVar,15008101,315,133)
{
Name="username"
}
Add(GlobalVar,12568762,308,91)
{
Name="host"
}
Add(BlockFind,12968278,259,91)
{
IncludeBlock=1
StartBlock="SERVER="
EndBlock=";"
link(onSearch,12568762:doValue,[])
link(Text,1717849:Var2,[])
}
Add(GetDataEx,11115750,259,25)
{
Angle=3
link(Data,8628394:ConnectionString,[(27,30)])
}
Add(BlockFind,16254985,252,133)
{
IncludeBlock=1
StartBlock="UID="
EndBlock=";"
link(onSearch,15008101:doValue,[])
link(Text,4161802:Var2,[])
}
Add(GetDataEx,1717849,259,67)
{
link(Data,11115750:Var2,[])
}
Add(BlockFind,9707297,245,175)
{
IncludeBlock=1
StartBlock="PWD="
EndBlock=";"
link(onSearch,5084853:doValue,[])
link(Text,16743168:Var2,[])
}
Add(GetDataEx,4161802,252,116)
{
link(Data,1717849:Var1,[(258,72)])
}
Add(dbMySQL,1227772,308,210)
{
Point(doCharset)
link(Host,12568762:Var,[])
link(Login,15008101:Var,[])
link(Password,5084853:Var,[])
link(DBName,9209210:Var,[])
link(onError,1376536:doWork1,[(438,216)])
}
Add(dbMySQL_Exec,7884770,203,644)
{
link(onResult,8628394:onRowCount,[])
link(onGetBlob,8628394:onGetBlob,[(264,657)])
link(onError,1376536:doWork3,[(438,664)])
link(dbHandle,2374786:Var2,[])
link(BlobData,8628394:Blob,[])
}
Add(Hub,8510714,98,49)
{
OutCount=9
link(onEvent1,2965810:doSearch,[])
link(onEvent2,12968278:doSearch,[(236,62)(236,97)])
link(onEvent3,16254985:doSearch,[(233,69)(233,139)])
link(onEvent4,9707297:doSearch,[(230,76)(230,181)])
link(onEvent5,1227772:doOpen,[(227,83)(227,216)])
link(onEvent6,1227772:doSelectDB,[(224,90)(224,230)])
link(onEvent7,3122518:doSearch,[(221,97)(221,237)])
link(onEvent8,471670:doValue,[(177,104)(177,356)])
link(onEvent9,7439799:doValue,[(126,111)(126,356)])
}
Add(BlockFind,3122518,238,231)
{
IncludeBlock=1
StartBlock="charset="
EndBlock=";"
link(onSearch,1227772:doCharset,[])
link(Text,16743168:Var1,[(244,163)])
}
Add(GetDataEx,16743168,245,158)
{
link(Data,4161802:Var1,[(251,121)])
}
Add(HubEx,1376536,434,420)
{
link(onEvent,8628394:onError,[])
}
Add(dbMySQL_Query,961521,168,413)
{
Point(BlobIndex)
Point(Blob)
link(onResult,12112563:doCompare,[(212,419)(212,465)(37,465)(37,496)])
link(onError,11239057:doWork2,[])
link(dbHandle,2374786:Var1,[(174,268)])
link(BlobIndex,471670:Value,[])
}
Add(Charset,13328481,259,553)
{
Type=8
CodePage2=1251
link(onCharset,13781630:doStrCat,[])
link(CodePage1,4377441:Var3,[(272,401)])
}
Add(MatrixRW,15599813,217,553)
{
link(onRead,13328481:doCharset,[])
link(Matrix,961521:Rows,[(223,456)(174,456)])
link(X,5971942:Index,[(237,531)(188,531)])
link(Y,1197068:Position,[(244,544)(139,544)])
}
Add(ArrayEnum,5971942,175,490)
{
link(onItem,15599813:doRead,[(212,496)(212,559)])
link(onEndEnum,7361540:doEvent1,[])
link(Array,961521:Fields,[])
}
Add(For,1197068,133,490)
{
IncludeEnd=1
link(onEvent,5971942:doEnum,[])
link(End,12723894:Var2,[])
}
Add(StrCat,13781630,329,553)
{
Str2=";"
link(onStrCat,8346686:doStrCat,[(380,559)(380,503)])
}
Add(StrCat,8346686,392,497)
{
Point(doClear)
link(Str1,16238644:Var1,[(398,485)(367,485)(367,541)])
}
Add(Hub,7361540,238,497)
{
link(onEvent1,14729960:doData,[(372,503)(372,573)])
link(onEvent2,8346686:doClear,[])
}
Add(GetDataEx,2374786,203,263)
{
Angle=1
link(Data,1227772:dbHandle,[(314,268)])
}
Add(Charset,11718953,126,413)
{
Type=8
CodePage1=1251
link(onCharset,961521:doQuery,[])
link(CodePage2,4377441:Var2,[])
}
Add(GetDataEx,4377441,140,396)
{
link(Data,7439799:Value,[])
}
Add(InfoTip,5151063,168,35)
{
Info=#7:Connect|
Font=[MS Sans Serif,8,1,16711680,1]
HAlign=0
Width=232
Height=242
}
Add(InfoTip,14155832,175,630)
{
Info=#4:Exec|
Font=[MS Sans Serif,8,1,16711680,1]
HAlign=0
Width=85
Height=53
}
Add(InfoTip,12792113,42,343)
{
Info=#5:Query|
Font=[MS Sans Serif,8,1,16711680,1]
HAlign=0
Width=400
Height=263
}
Add(If_else,12112563,49,490)
{
Type=5
Op2=Integer(0)
link(onTrue,1197068:doFor,[])
link(onFalse,15275715:doData,[(89,503)(89,538)])
link(Op1,12723894:Var1,[(55,478)])
}
Add(GetDataEx,12723894,140,473)
{
Angle=1
link(Data,961521:RCount,[(188,478)])
}
Add(HubEx,11239057,224,420)
{
link(onEvent,1376536:doWork2,[])
}
Add(DoData,15275715,98,532)
{
Data=Integer(0)
link(onEventData,11239057:doWork3,[(228,538)])
}
Add(Version,6922036,483,651)
{
Version="1.1"
Description="MySQL as analog ODBC"
InternalName="MySQLEx"
E-mail="nic@savelovo.net"
}
Add(Icon,7618592,483,616)
{
@Hint=#5:#main|
Icon=[00000100010018180000010018004807000016000000280000001800000030000000010018000000000020070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000DC0000DC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000DC0000DC0000000000000000000000000000000000000000000000000000000000000000000000000000000000DC0000DC0000DC0000DC0000000000000000000000DC0000DC0000DC0000DC0000000000DC0000DC000000000000FF0000FF0000000000000000FF0000000000000000FF00000000000000000000000000D40000D40000000000D40000D40000000000D40000D40000000000D40000D4000000FF0000000000000000000000000000FF0000000000000000FF00000000000000C20000C20000C20000000000000000C20000C20000000000C20000C20000000000C20000C2000000FF0000FF0000FF0000FF0000000000000000FF0000FF00000000000000B10000B10000000000000000000000000000B10000B10000000000B10000B10000000000B10000B1000000FF0000000000000000FF0000000000FF0000000000000000FF000000000000009F00009F00009F00009F00000000000000009F00009F00009F00009F00000000009F00009F000000000000FF0000FF0000000000000000FF0000000000000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000008E00008E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073000073000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A05027944A24944A24944A24944A24944A24944A24944A24944A24944D29944D29944D29944D29944D29944D29000000000000000000000000000000000000000000000000000000804020FEF4E9FEF0E1FEECD7007F00FEE4C7FEE4C7FEDDB9FEDDB9007F00FEDDB9FEDDB9FEDDB9FEDDB9944D29944D29944D29000000000000000000000000000000000000000000804020FEF8F2FEF4E9FEF0E1007F00FEECD7FEE4C7FEE4C7FEDDB9007F00FEDDB9FEDDB9FEDDB9FEDDB9944D29FEDDB9944D29000000000000000000000000000000000000000000804020007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00944D29FEDDB9944D29000000000000000000000000000000000000000000804020FEFEFDFEFEFDFEF8F2007F00FEF0E1FEF0E1FEECD7FEE7CD007F00FEE7CDFEE7CDFEE7CDFEE7CD944D29007F00944D290000000000000000000000000000000000000000007F401FFEFEFDFEFEFDFEFEFD007F00FEF8F2FEF4E9FEF0E1FEECD7007F00FEECD7FEECD7FEECD7FEECD7944D29FEE7CD944D290000000000000000000000000000000000000000007F401FFEFEFDFEFEFDFEFEFD007F00FEFEFDFEF7F0FEF4E9FEF0E1007F00FEF0E1FEF0E1FEF0E1FEF0E1944D29FEECD7944D29000000000000000000000000000000000000000000804020007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00944D29FEF0E1944D290000000000000000000000000000000000000000007F3F1FFEFEFDFEFEFDFEFEFD007F00FEFEFDFEFEFDFEFEFDFEF8F2007F00FEF4E9FEEFDEFEECD7FEE7CD8E4722007F00944D29000000000000000000000000000000000000000000804020E4E4E4E4E4E4E4E4E4007F00E4E4E4E4E4E4E4E4E4E4E4E4007F00E4E4E4E4E0DCE4DED6E4DACF944D29FEE7CD8E4722000000000000000000000000000000000000000000AE5C27AE6122AE5C27AD5F20AD5F20AE5C27AD5F20AD5F20AE5C27AD5F20AD5F20AE6122AE5C27AE61228F4823E4DACF944D29000000000000000000000000000000000000000000AE5C27EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733EE9733B95D19AE61228F4823000000000000000000000000000000000000000000000000CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319EE9733EE9733B95D19000000000000000000000000000000000000000000000000000000000000CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319CC7319000000000000000000000000000000000000000000FFFFCF00FFFFCF00FF8709009B7249007B4649000C9E49006B4309009B7FF900FFFFF900FFFFFF008000FF0080003F0080003F0080003F0080003F0080003F0080003F0080003F0080003F0080003F0080003F0080003F00C0003F00F0007F00]
}
Add(Memory,7439799,140,350)
{
Point(Data)
MakeExt(Default,Задаёт кодовую страницу для текущего соединения,CodePage)
link(Data,8628394:CodePage,[])
}
Add(Memory,471670,182,350)
{
Default=Integer(0)
Point(Data)
MakeExt(Default,Задаёт индекс blob поля в строке запроса для чтения с нижней точки,BlobIndex)
link(Data,8628394:BlobIndex,[])
}
Add(Charset,5284960,105,644)
{
Type=8
CodePage1=1251
link(onCharset,7884770:doExec,[])
link(CodePage2,4377441:Var1,[(125,401)])
}
Add(DoData,14729960,378,567)
{
link(onEventData,8628394:onResult,[(441,573)])
link(Data,16238644:Var2,[])
}
Add(GetDataEx,16238644,378,536)
{
Angle=1
link(Data,8346686:Result,[(398,541)])
}
END_SDK
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:Chipset
Ответов: 186
Рейтинг: 9
#33: 2010-09-24 19:46:54 ЛС | профиль | цитата
Nic, 2 вариант зачет. Прикольная штука
карма: 0

0
Ответов: 186
Рейтинг: 9
#34: 2010-09-27 13:23:54 ЛС | профиль | цитата
Может кто сталкивался.
Сервер MySQL 5.1.5, работаю через MySQL Administrator или MySQL Workbench. Проблема c кодировкой.
Что бы в базе и в Админе показывал русский язык, ставлю везде одинаковую кодировку utf8 или CP1251 (на сервере, в базе, в таблице, в столбцах)
При выводе в StringTable кракозябры, Charset в dbMySQL перепробовал все (при UTF8 кракозябры, прои остальных вопросы)
Получилось лишь в случае когда у сервера кодировку в Default(latin1) ставишь. Тогда HiAsm показывает а администраторы нет.
Короче либо что то с компонентом. Либо пора спать.
Вот дамп одной из таблиц.
http://hiasm.com/forum_serv.php?q=56&id=1795

карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#35: 2010-09-27 23:36:43 ЛС | профиль | цитата
Если не полениться, то можно было бы найти в сети такой вот совет: после того как установлено соединение с MySQL сервером, но перед посылкой запросов, выполнить следующий запрос:


#sql
SET NAMES 'utf8';SET CHARACTER_SET 'utf8';
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 186
Рейтинг: 9
#36: 2010-09-28 12:23:20 ЛС | профиль | цитата
Данный запрос мне не помог, но из положения я вышел.
Нашел еще на форуме по теме:
    set character_set_client='utf8'
    set character_set_results='utf8'
    set character_set_connection='utf8'
    set character_set_database='utf8'
Так же нашел для себя более удобный вывод из MySQL, Nic, этот вариант лучше или хуже? или без разницы?
code_20807.txt
карма: 0

0
файлы: 1code_20807.txt [1.5KB] [280]
Главный модератор
Ответов: 2999
Рейтинг: 396
#37: 2010-09-28 23:16:11 ЛС | профиль | цитата
В смысле минимилизации компонентов схемы - лучше и современней. Но если придется объяснять принцип работы новичку, то надо будет быть терпеливым, объясняя на "паровозиках" работу MT-потоков.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 186
Рейтинг: 9
#38: 2010-09-29 10:45:46 ЛС | профиль | цитата
Просто Я думаю, могут ли быть потери по скорости вывода, и сильно ли это зависит от компонента.
Хотя правильность написания запроса здесь будет играть более важную роль!?
А МТ потоки это вещь, принцип работы конечно не до конца понимаю. Но помогли они мне очень сильно.
карма: 0

0
Ответов: 542
Рейтинг: 12
#39: 2010-11-11 20:58:55 ЛС | профиль | цитата
Оказалось что примерчик из дистрибутива HiASM для MySQL не работает запросом like если база не в CP1251 а в UTF8...
Кто ни будь решал этот вопрос?

карма: 0

0
Ответов: 952
Рейтинг: 4
#40: 2010-12-21 12:53:54 ЛС | профиль | цитата
Написал прогу для работы с SQLite.
Так как SQLite не обладает необходимыми мне данными - безопасность, разграничение доступа и т.д. решил перенести БД в MySQL
Собственно вопрос - как наиболее проще переписать прогу с SQLite под MySQL?
Подмогните реализовать занесение идентификатора выбранной БД MySQL в глобальную переменную.
Насколько я понял принцип тот же - открываем БД, определяем идетнтификатор БД.
Т.е. для перевода моей проги на MySQL мне надо будет заменить компонент выполнения запроса и в принципе всё.
Соединение,логин,пароль для коннекта к MySQL это само собой.
Я прав?
карма: 0

0
Ответов: 186
Рейтинг: 9
#41: 2010-12-29 05:19:49 ЛС | профиль | цитата
user_asm, если еще актуально.
user_asm писал(а):
Собственно вопрос - как наиболее проще переписать прогу с SQLite под MySQL?

Тоже столкнулся с этим.

user_asm писал(а):
Т.е. для перевода моей проги на MySQL мне надо будет заменить компонент выполнения запроса и в принципе всё.

Компоненты обязательно, но я так же столкнулся и с изменением запросов.
Конечно отличия не значительные, но поискать в инете пришлось.
Способ подключения использую, описанный мной постом выше.

Если что спрашивай, помогу, чем смогу
карма: 0

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