【发布时间】:2015-11-25 18:21:40
【问题描述】:
当我在 SQL Management Studio 中运行以下查询时,它运行良好。
当我在 c# 中运行它时,结果没有行(只有标题) - 为什么? 我已经单步执行了代码。仅返回标头。无记录。 注意:Query2 定义为 SQL 查询。
SQL Management Studio 查询 - 工作
SELECT
*
FROM
[TraceData].[dbo].[MachineLog2]
WHERE
[MachineFailReason] not like 'Passed'
AND Timestamp >= CAST(GETDATE()-1 AS DATETIME) + CAST('04:00:00' AS DATETIME)
ORDER BY Timestamp DESC
C# 代码 - 不起作用
SqlConnection conn2 = new SqlConnection(connectionString);
string Query2 = @ConfigurationManager.AppSettings["Query2"];
conn2.Open();
SqlCommand cmd2 = new SqlCommand(Query, conn2);
SqlDataReader dr2 = cmd2.ExecuteReader();
【问题讨论】:
-
不同的数据库?
-
当您说不起作用时-您的意思是它不返回任何记录吗?您是否浏览过代码以确保正确设置和加载 AppSettings?
-
你怎么知道它不起作用?你打电话给 dr2.Read() 了吗?
-
顺便说一句
not like 'Passed'应该是<> 'Passed' -
@Prescott 是的,我已经浏览了代码。没有工作意味着 0 记录返回给定相同的查询,在 SQL 管理工作室有结果。
标签: c# sql sql-server-2008