如果行符合某些条件,我会为列选择SUM
,但问题是其中一个条件必须是该日期少于今天的日期。
我在4个连接字符串上使用1个命令字符串(4个不同的数据库4年)
我已经调查了THIS问题,但我不明白我应该怎么做。
目前我有这个命令:
SELECT SUM(UPLACENO) FROM DOKUMENT WHERE VRDOK = 15 AND FLAG = 1 AND KODDOK = 0
这就是我使用它的方式:
FbConnection con1..... //this year
{
FbCommand cmd = new FbCommand(commandUpAbove);
....
}
FbConnection con2..... //year before
{
FbCommand cmd = new FbCommand(commandUpAbove);
....
}
FbConnection con3..... //2 years before
{
FbCommand cmd = new FbCommand(commandUpAbove);
....
}
FbConnection con2..... //3 years before
{
FbCommand cmd = new FbCommand(commandUpAbove);
....
}
我想要完成的是:
如何选择列DATUM
(日期时间)小于myDate
(日/月)的行
由于我在4个数据库中使用相同的命令,我如何设法告诉它选择where date < mydate
但不给他一年
每个数据库为期1年(一年01.01 - 31.12)。
答案 0 :(得分:0)
尝试这样的事情:
string commandUpAbove = "SELECT SUM(UPLACENO) FROM DOKUMENT WHERE VRDOK = 15 AND FLAG = 1 AND KODDOK = 0 AND DATUM < '?';";
对于您的每个查询,请使用:
FbConnection con1.....
{
FbCommand cmd = new FbCommand(commandUpAbove.Replace("?", mydate.ToString()));
....
}
编辑:正如评论中指出的那样,只有在代码中定义了mydate时才应该使用它。如果用户在文本框中输入了mydate,那么DON&#t; T使用它。相反,mydate应该是某种类型的DateTime。还有其他通常更快或更好的方法将参数插入sql命令。