查询问题 - 在sql导航器中运行查询时返回行,但不在我的c#程序中

mik*_*eri 6 c# sql asp.net oracle10g oracle11g

在此输入图像描述

更新:

这是来自调试器的查询,它是从字符串生成器中检索的:

{SELECT * FROM FCR.V_REPORT WHERE DATE BETWEEN to_date('14/09/2001' , 'dd/mm/yyyy') AND to_date('30/09/2011' , 'dd/mm/yyyy')}
Run Code Online (Sandbox Code Playgroud)

如果删除大括号并在导航器中将其发布,则可以正常工作.

原版的:

我在运行程序时遇到问题.sql navigator中的查询返回192行,但是当我在c#(visual studio 2010)上运行查询时,查询返回0行.下面是我的c#代码:

public static DataTable GetReport(string date1, string date2)
{
  DatabaseAdapter dba = DatabaseAdapter.GetInstance();
  string SqlQuery =
    string.Format(@"SELECT * 
                  FROM FCR.V_REPORT 
                  WHERE DATE BETWEEN to_date('{0}' , 'dd/mm/yyyy')
                    AND to_date('{1}' , 'dd/mm/yyyy')", date1, date2);
  OracleDataReader reader = dba.QueryDatabase(SqlQuery);
  DataTable dt = new DataTable();
  dt.Load(reader);
  int temp = dt.Rows.Count;
  return dt;
}
Run Code Online (Sandbox Code Playgroud)

这是我在sql navigator中使用的查询(返回192行):

SELECT * 
FROM FCR.V_REPORT
WHERE DATE BETWEEN to_date('01/01/2001' , 'dd/mm/yyyy')
AND to_date('30/09/2011' , 'dd/mm/yyyy')
Run Code Online (Sandbox Code Playgroud)

Ica*_*rus 5

我打赌你从c#程序传入的日期是不同的,因为你的sql语句是相同的.设置一个断点并验证日期是否完全相同.还要验证date1和date2是否以适当的顺序传入.

  • 我检查并重新检查了日期.这就是我在这里发布的原因,因为它很奇怪.我在我的程序中做了一个断点来检查行数是否增加但它仍然是0 (2认同)

Rya*_*n S 2

尝试删除视图并重新创建。确保您的别名也正确。