Доступ к данным, возвращаемым SQL-запросом выбора в Ballerina

Я очень новичок в балерине. В моем проекте я хочу получить доступ к данным, которые возвращаются запросом выбора SQL?

что я пытаюсь сделать, это

public function calculateCholesterol(int age,string gender,int totalCholesterol,int non_hd,int ldl,int hdl){

json data;

string sqlQuery;

sqlQuery = "SELECT * FROM CHOLESTEROL WHERE gender = ? AND age = ?";

var result = cholesterolDB->select(sqlQuery,(),gender,selectedAge);

table<Cholesterol> cholTable = table{};

match result {

    table dataTable =>{
         //io:println(check <json>dataTable);
        var res = cholTable.add(dataTable);
        io:println(res);
    }

    error err =>{
        data  = {"Status":"Data Not Found","Error":err.message};
    }
}
}

Но это не работает и выдает ошибку во время выполнения.

2 ответа

match result {

        table dataTable => {

            data = check <json>dataTable;
            correctData[0] = check <int>data[0].totalCholesterol;
            correctData[1] = check <int>data[0].non_hd;
            correctData[2] = check <int>data[0].hdl;
            correctData[3] = check <int>data[0].ldl;


        }

        error err => {
            data  = {"Status":"Data Not Found","Error":err.message};
        }
}

Вы также можете сделать следующее.

table<Cholesterol> cholTable;

match result {

    table dataTable => cholTable = dataTable;

    error err => // handle error
}

// Now you can perform any required operation on the cholTable. 
// eg: You can iterate it, convert to JSON/XML. 

foreach row in cholTable {
   io:println("Info:" + row.totalCholesterol);
}

Обратите внимание, что вы не можете повторить таблицу, возвращенную из операции SQL, если вы не установите loadToMemory параметр в select операция. Если вы сделаете следующее, то можете выполнить итерацию более одного раза.

например:

var selectRet = testDB->select("SELECT * FROM student", Student, loadToMemory = true);

Пожалуйста, обратитесь к примеру клиента jdbc для получения дополнительной информации.

Другие вопросы по тегам