Автор |
Сообщение |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX писал(а): |
По моему, запросы на вставку (INSERT INTO), обновление (UPDATE) и удаление (DELETE) данных в плагине должны работать корректно.
Попробуй, расскажешь.
|
Ты имеешь виду ODBC/SQL Universal AFL Plugin? или свой ?
Сейчас по экспериментировал нашел ответы на свои вопросы:
Базу нужно еще открывать и odbcOpenDatabase, оба плагина прекрасно работают совместно с одной базой одновременно.
Сейчас использую базу MS SQL Server очень быстро работает по сравнению с Access и масса возможностей в самом SQL.(благо есть знакомые знающие SQL).
MOAX ты говорил чтобы из базы в Ами получить массив нужно иметь ключевое поле в таблице ВРЕМЯ\ДАТА вот здесь не совсем понятно,
время или дата раздельно (22:00:00 это время) или дата (09.12.2011)
или должен быть столбец типа (22:00:00\09.12.2011)? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
MOAX писал(а): |
По моему, запросы на вставку (INSERT INTO), обновление (UPDATE) и удаление (DELETE) данных в плагине должны работать корректно.
Попробуй, расскажешь.
|
1) Ты имеешь виду ODBC/SQL Universal AFL Plugin? или свой ?
2) MOAX ты говорил чтобы из базы в Ами получить массив нужно иметь ключевое поле в таблице ВРЕМЯ\ДАТА вот здесь не совсем понятно,
время или дата раздельно (22:00:00 это время) или дата (09.12.2011)
или должен быть столбец типа (22:00:00\09.12.2011)? |
1) Свой.
2) В моем понимании, массив на AFL должен быть привязан барам, стало быть и поле в БД должно быть DateTime, но не уверен.
Из справки ODBC/SQL Universal AFL Plugin:
Код: |
odbcGetArraySQL("SELECT userval1, DATE FROM mytable WHERE SYMBOL='"+Name()+"' ORDER BY DATE ASC"); |
Тут используют DATE |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
Сейчас использую базу MS SQL Server очень быстро работает по сравнению с Access и масса возможностей в самом SQL. |
Скажи, установка и администрирование MS SQL Server - штука муторная?
Ты используешь бесплатную версию Express?
Или для робота, как в примере, смысла нет в сервере БД |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX писал(а): |
zxWizard писал(а): |
Сейчас использую базу MS SQL Server очень быстро работает по сравнению с Access и масса возможностей в самом SQL. |
Скажи, установка и администрирование MS SQL Server - штука муторная?
Ты используешь бесплатную версию Express?
Или для робота, как в примере, смысла нет в сервере БД |
1) С установкой и администрированием конечно придется разобраться но во общем не сложно, саму базу в SQL я создал через скрипт для своего привода можешь его качнуть и глянуть в нем есть хорошие идеи по трейлинг стопу.
2) использую бесплатную версию Express.
3) Для твоего примера смысла в SQL нет.
Мне он нужен для Таблицы всех сделок, да и вообще может в будущем откажусь от программ Тех.анализа.
Плюс там есть своя математика и на уровне базы она работает быстрей. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX
Скажи какой таймер использует твой плагин для обновление данных из базы?
ODBC/SQL Universal AFL Plugin на пример 5 секунд, а мне бы хотелось 1 сек. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
dd
Зарегистрирован: 22.11.2010
Сообщения: 10
|
Люди, кто-нибудь может написать подробную пошаговую инструкцию по установке и настройке от начала до конца? Пожалуйста! Моя очень хотеть, но ничего не понимать. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
dd писал(а): |
Люди, кто-нибудь может написать подробную пошаговую инструкцию по установке и настройке от начала до конца? Пожалуйста! Моя очень хотеть, но ничего не понимать. |
А что не понятно?
Задавай вопросы - отвечу. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
Добрый день MOAX
Возникла проблема с atqOdbcNum( strQuery );
у тебя написано:
Цитата: |
Возвращаемое значение: .... в случае ошибки Null (Empty). |
Но она в случае ошибки возвращает "мусор" далеко не Null, а у меня в коде она используется для прерывания цикла в итого получаем не нужный проход цикла.
Можно ли как то это поправить в твоем плагине?
И еще можно ли получить исходный код твоего плагина? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
Добрый день MOAX
Возникла проблема с atqOdbcNum( strQuery );
у тебя написано:
Цитата: |
Возвращаемое значение: .... в случае ошибки Null (Empty). |
Но она в случае ошибки возвращает "мусор" далеко не Null, а у меня в коде она используется для прерывания цикла в итого получаем не нужный проход цикла.
|
А в каком случае возникает мусор:
- отсутствует запись в БД ?
- строковое или целое значение получаешь из БД ? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
zxWizard
Зарегистрирован: 25.09.2011
Сообщения: 46
|
MOAX писал(а): |
А в каком случае возникает мусор:
- отсутствует запись в БД ?
- строковое или целое значение получаешь из БД ? |
- мусор возникает когда выполняется запрос который ни находит данных удовлетворяющих условию ( WHERE ) , а должен возвращать Null
- получаю целое числовое значение из БД
Эта проблема конкретно в функции atqOdbcNum,
заменил ее на atqOdbcStr с тем же условиям поиска она правильно возвращает пустую стороку "" если нет данных,
просто если значение есть приходится строку в число конвертировать по этому и хотел использовать atqOdbcNum. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
zxWizard писал(а): |
- мусор возникает когда выполняется запрос который ни находит данных удовлетворяющих условию ( WHERE ) , а должен возвращать Null
- получаю целое числовое значение из БД
Эта проблема конкретно в функции atqOdbcNum,
заменил ее на atqOdbcStr с тем же условиям поиска она правильно возвращает пустую стороку "" если нет данных,
просто если значение есть приходится строку в число конвертировать по этому и хотел использовать atqOdbcNum. |
Тут помочь не могу, числовое значение не может быть Null. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MOAX
Зарегистрирован: 13.03.2011
Сообщения: 44
|
Вообще, если используешь циклы - попробуй работать с базой данных через ADO прямо из Ами.
Пример:
Код: |
oConnection = CreateObject( "ADODB.Connection" );
if( IsNull( oConnection ))
{
PopupWindow( "ADODB.Connection = 0", "Test ADO", 30 );
}
else
{
oConnection.Open( "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\\TestADO.mdb" );
sSQL = "SELECT * FROM TestTable";
oRecordset = oConnection.Execute( sSQL );
if( IsNull( oRecordset ))
{
PopupWindow( "ADODB.Recordset = 0", "Test ADO", 30 );
}
else
{
oRecordset.MoveFirst();
sText = "";
while( oRecordset.EOF != -1 )
{
oFields = oRecordset.Fields;
oItem = oFields.Item( "sTicker" );
sText = sText + oItem.Value;
oItem = oFields.Item( "iTotalNet" );
sText = sText + " = " + oItem.Value + ";\n";
oRecordset.MoveNext();
}
oRecordset.Close();
oConnection.Close();
if( sText != "" )
{
PopupWindow( sText, "Test ADO", 30 );
}
}
} |
PS. Файл не нашел, перепечатывал с листочка, могут быть ошибки, но код рабочий. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
|