【问题标题】:Access Data Returned By SQL Select Query in Ballerina访问 Ballerina 中 SQL 选择查询返回的数据
【发布时间】:2018-07-08 08:41:47
【问题描述】:

我对芭蕾舞演员很陌生。在我的项目中,我想访问 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};
    }
}
}

但它不起作用并引发运行时错误。

【问题讨论】:

  • 你也可以发布抛出的错误吗?
  • 感谢您的回复。我今天解决了。我正在发布解决方案。

标签: ballerina


【解决方案1】:
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};
        }
}

【讨论】:

    【解决方案2】:

    您也可以这样做。

    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);
    }
    

    请注意,除非您在select 操作中设置loadToMemory 参数,否则您不能重新迭代从SQL 操作返回的表。如果按照以下方式进行,则可以多次迭代。

    例如:

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

    请参阅jdbc client 示例了解更多信息。

    【讨论】:

    • 谢谢。我会通过上面的链接。
    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多