Как обработать возвращаемое значение odbc: start (). функция в эрланге? - PullRequest
0 голосов
/ 14 января 2019

Я новичок в Эрланге, Я пытаюсь odbc программу в эрланге

Шаг 1: - Запустить odbc
Шаг 2: - если запущен odbc (т.е. odbc: connect ()). еще ничего не делать

ODBC: начать (). возвращает два типа значения,

если при первом подключении возвращается {ok}
если он уже подключен, он возвращает {error, {уже_старт, odbc}}

Как обрабатывать эти два типа возвращаемых значений,

Как написать программу ниже

</p> <pre><code>-module(test). -export([init/0]) init()-> return_value = odbc:start(), if return_value == {ok} -> {ok1, Ref1} = odbc:connect("DSN=mysqlserver;UID=test;PWD=test", []), return_value == {error, {already_started,odbc}}-> do_nothing true -> return {error,something_wrong} end.

1 Ответ

0 голосов
/ 14 января 2019

Я использовал оператор case для обработки возврата.

-module(test). 

-export([init/0]).

init()->
    case odbc:start()  of 
        ok ->
            io:fwrite("Started ~n");
        {error,{already_started,odbc}} ->
            io:fwrite("Already Connceted ~n")
    end.

В терминале

2> c(test).
{ok,test}
3> test:init().
Started 
ok
4> test:init().
Already Connceted 
ok

это правильный путь?

...