将c#代码转换为mysql函数

时间:2017-10-19 03:03:52

标签: mysql

我在C#中有以下代码,我想转而使用MySQL代码?

totalOutstanding, numberOfUnpaidBills, numberOfOverdueBills, awaitingApproval, rejectedBills

ub.RemainingBlaance()基本上检查表中的两个字段并减去,amount_due - amount_paid

我希望返回的内容是一行,如下所示:

{{1}}

原始表:

enter image description here 我知道这可能会像一个懒惰的问题,但我从来没有处理过mysql中的编码,只是简单的查询,我不知道如何开始。向正确的方向推进就足够了,而不是一个完整的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:0)

要查询mysql,您可以使用mysql.data nuget包。你可以查看他们的文档。我创建了一个nuget来简化从任何c#框架到mysql的代码。如果你不介意第三方的努力,你可以尝试一下。它被称为mysql.simple。根据我从代码尝试的内容中理解,这里有一个用于提取数据的小代码:

using (Database db = ConnectionString)  // initializes connection
{
    // you can omit the below select function if you would like to select all
    using (var Row = db.Select("unit_cost, start_reading")
                       From("tblName").Query()
    while(Row.Read()){  // gets each row
        ub.unit_cost = Row["unit_cost"];
        ub.start_reading= Row["start_reading"];
        .
        .
        .
    }
}

上面的db对象具有select,update和insert函数,其中包含所有变体,包括带选择的insert语句。但是,如果您想使用原始SQL查询,则可以直接使用db.Query(“sql query here”)。您可以在此处查看更多文档http://mysqlsimple.azurewebsites.net/docs

以下是我与我共享的mySql存储过程示例:

DELIMITER //
DROP PROCEDURE IF EXISTS proc_IF;
CREATE PROCEDURE proc_IF (IN param1 INT)
BEGIN
  DECLARE variable1 INT;
  SET variable1 = param1 + 1;

  IF variable1 = 0 THEN 
    SELECT variable1;
  END IF;

  IF param1 = 0 THEN
    SELECT 'Parameter value = 0' ;
  ELSE
    SELECT 'Parameter value <> 0' ;
  END IF;

END //

此示例包含参数,变量和if语句示例。

你可以用c#这样的方式调用它:

db.QueryValue("CALL proc_IF (@0)", myVal);