我在C#中有以下代码,我想转而使用MySQL代码?
totalOutstanding, numberOfUnpaidBills, numberOfOverdueBills, awaitingApproval, rejectedBills
ub.RemainingBlaance()基本上检查表中的两个字段并减去,amount_due - amount_paid
我希望返回的内容是一行,如下所示:
{{1}}
原始表:
我知道这可能会像一个懒惰的问题,但我从来没有处理过mysql中的编码,只是简单的查询,我不知道如何开始。向正确的方向推进就足够了,而不是一个完整的解决方案。
谢谢!
答案 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);