Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Работа с MySQL с новой прошивкой.

  1. #11

    По умолчанию

    Через пример команда выполнилась, корректный ответ получен.
    Осталось понять,что не так,когда копирую функцию в проект и запускаю ее в проекте.

  2. #12
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Цитата Сообщение от oif Посмотреть сообщение
    Через пример команда выполнилась, корректный ответ получен.
    Осталось понять,что не так,когда копирую функцию в проект и запускаю ее в проекте.
    Как я понял, вы пишете на языке ST - вероятно, некорректно производите вызов ФБ.
    Выложите ваш проект - тогда можно будет понять, в чем проблема.

  3. #13

    По умолчанию

    Да на ST.По сути я скопировал функциональный блок из примера, добавил его в Application. Подключил библиотеку CmpSysExec 3.5.16.30. Объявил переменные. И вызываю функцию по изменению SQLstartread на 1 вручную для проверки.

    PROGRAM PLC_PRG
    VAR
    fbMySqlClient: MySQL_CLIENT;
    xSendCommand: BOOL;
    sUser: STRING(30) := 'owen';
    sPassword: STRING(30) := '';
    sIpAddr: STRING(30) := '1.1.1.1';
    sDatabase: STRING(30) := 'example';

    sSqlStatementread: STRING(255) := 'SELECT qtyinstock FROM vtiger_products WHERE productid = 15';
    sSqlStatementwrite: STRING(255);

    asResult: ARRAY [1..255] OF STRING(255);
    usiCountOfStrings: USINT;
    END_VAR
    SQLstartread;
    fbMySqlClient(xExecute:=SQLstartread,sUser:=sUser, sPassword:=sPassword,sipAddr:=sIpAddr,sDatabase:=s Database,sSqlStatement:=sSqlStatementread);
    fbMySqlClient.asResult[1];
    fbMySqlClient.xDone;
    fbMySqlClient.xError;
    fbMySqlClient.usiCountOfStrings;
    fbMySqlClient.xBusy;
    fbMySqlClient.xOverFlow;

  4. #14
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Выложите проект - а то сейчас, например, всё равно непонятно, что такое SQLstartread и где оно объявлено.

  5. #15

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Выложите проект - а то сейчас, например, всё равно непонятно, что такое SQLstartread и где оно объявлено.
    Хорошо,переписал пример на ST. Подставляю в него параметры своего сервера, не работает.
    Беру оригинальный пример на CFC ставлю параметры сервера своего, все работает.
    Не понимаю, почему.
    Подскажите, что не так делаю.
    Вложения Вложения

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а с чего вдруг стали ненужны пробелы между ключом и именем, такие как пользователь и пароль
    Все значения переменные вроде получают,корректно.Вы думаете в этом проблема? Я попробую завтра,но что-то никогда не обращал на это внимание.

  7. #17
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Пример корректного кода на ST:

    Код:
    fbMySqlClient(xExecute:=xSendCommand,sUser:=sUser,sPassword:=sPassword,sipAddr:=sIpAddr,sDatabase:=sDatabase,sSqlStatement:=sSqlStatement);
    
    IF fbMySqlClient.xDone THEN
    	asResult := fbMySqlClient.asResult;
    	usiCountOfStrings := fbMySqlClient.usiCountOfStrings;
    END_IF
    2021-05-18_7-00-23.png

  8. #18

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Пример корректного кода на ST:

    Код:
    fbMySqlClient(xExecute:=xSendCommand,sUser:=sUser,sPassword:=sPassword,sipAddr:=sIpAddr,sDatabase:=sDatabase,sSqlStatement:=sSqlStatement);
    
    IF fbMySqlClient.xDone THEN
    	asResult := fbMySqlClient.asResult;
    	usiCountOfStrings := fbMySqlClient.usiCountOfStrings;
    END_IF
    2021-05-18_7-00-23.png
    Евгений, спасибо большое!
    Понял ошибку свою!

  9. #19

    По умолчанию

    Примерно аналогичная ситуация

    sFinish31: STRING(255);
    sProstoy: STRING(255):='INSERT INTO "titorovka_lowperformance31" ("startdata","starttime") VALUES ($'';
    sString2: STRING(255):='$'::date,$'';
    sString3: STRING(255):='$'::time';
    sString4: STRING(255):=',$'';
    sString5: STRING(255):='$',$'';
    sString6: STRING(255):='$')';
    sReturnId31: STRING(255):=') RETURNING "titorovka_lowperformance31"."id"';

    sFinish31:= OSU.CONCAT8(
    sProstoy,
    dataTemp,
    sString2,
    timeTemp,
    sString3,
    sReturnId31,
    );

    fbPostgreSqlClientInsert31(
    xExecute:=xStartInsert,
    sUser:=sUser,
    sPassword:=sPassword,
    sIpAddr:=sIpAddr,
    sDatabase:=sDatabase,
    sSqlStatement:=sFinish31);

    IF fbPostgreSqlClientInsert31.xDone THEN
    //SQL_FORMAT(asData:=fbPostgreSqlClientInsert31.asRe sult,
    // iStringCount:=fbPostgreSqlClientInsert31.usiCountO fStrings);
    //awsResult31:=SQL_FORMAT.awsData;
    xStartInsert:=FALSE;

    если убрать RETURNING "titorovka_lowperformance31"."id"' то запись происходит но мне нужен id для следующих действий в CFC работает в ST нет не пойму в чем проблема. и при этом xDone всегда отрабатывает.
    Запрос который не работает 'INSERT INTO "titorovka_lowperformance31" ("startdata","starttime") VALUES ('2024-7-26'::date,'15:33:22'::time) RETURNING "titorovka_lowperformance31"."id"'
    Запрос который работает 'INSERT INTO "titorovka_lowperformance31" ("startdata","starttime") VALUES ('2024-7-26'::date,'15:33:22'::time)'
    Последний раз редактировалось Teinrus; 26.07.2024 в 15:33.

  10. #20

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. БД MYSQL
    от Holm в разделе СПК210, СПК1xx [М01]
    Ответов: 2
    Последнее сообщение: 17.05.2021, 09:55
  2. Работа с MySQL
    от electronic в разделе Master SCADA 3
    Ответов: 36
    Последнее сообщение: 11.10.2013, 10:06
  3. Ура!Старая программа в новой панели работает!
    от Ruffian в разделе Панели оператора (HMI)
    Ответов: 0
    Последнее сообщение: 20.02.2013, 08:13
  4. Работа с MySQL
    от Александер2008 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 18.02.2012, 18:30
  5. Ответов: 11
    Последнее сообщение: 06.07.2010, 14:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •