#ballerina
#балерина
Вопрос:
Я пытаюсь получить доступ к простому результирующему набору, не преобразуя его в json или XML.
Моя база данных преобразует результирующий набор в правильный формат.
Пример:
var resultSet = testDB->select("SELECT * FROM test , ());
if (resultSet is table<record {}>)
{
}
Когда я пытаюсь запустить foreach поверх ResultSet, я получаю пустое поле.
версии: ballerina — версия jBallerina 1.2.8 Языковая спецификация 2020R1 Инструмент обновления 0.8.8
Приветствую тебя, Мартин
Ответ №1:
Результатом является поток записей, в котором вы можете получить доступ к каждой записи и их полям.
Вы можете создать поток результатов и выполнить итерацию по нему в виде следующего примера кода при доступе к каждому полю
stream<record{}, error> resultStream =
mysqlClient->query("Select * from Customers");
error? e = resultStream.forEach(function(record {} result) {
io:println("Customer full details: ", result);
io:println("Customer first name: ", result["FirstName"]);
io:println("Customer last name: ", result["LastName"]);
});
Вы можете сослаться на другие примеры JDBC в Ballerina с помощью Examples