【发布时间】:2021-10-13 09:45:03
【问题描述】:
我正在使用SqlCommand 执行查询:
string query = "select distinct c.Id, a.FirstName, a.LastName
from dbo.Customer c, dbo.Customer_CustomerRole_Mapping ccrm, dbo.Address a
where ccrm.CustomerRole_Id = 14 AND ccrm.Customer_Id = c.Id and a.Email = c.Email;";
string dbConnection = "Data Source=..."; // this is working, I tested it
SqlConnection connection = new SqlConnection(dbConnection);
SqlCommand com = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = com.ExecuteReader();
// ...Parse reader...
字符串查询在 DBMS 中进行了测试,我应该得到 6 个结果,但是当我将它与 SqlCommand 一起使用时,我得到 0 个结果,连接工作正常,我对其进行了测试,我还使用更简单的查询对其进行了测试(例如select Id from dbo.Customer),它们也很好用。谁能发现我做错了什么?问题一定是查询字符串,也许是别名?
PS.:当然,我将使用参数,但对于这个示例,它只会增加混乱。我也在考虑使用 LINQ,但现在我只需要它按原样工作。
【问题讨论】:
-
您采取了哪些步骤来解决您的查询问题?
-
您能否通过添加以下语句进行测试 -
com.CommandType = CommandType.Text; -
@DanielMann,这就是我所描述的,我测试了连接,它工作正常,我尝试了一个更简单的查询,它也工作,所以问题必须在查询本身,也许是别名.
-
这是在不同的实例或数据库中执行的,其中一个是 6 行,另一个是 0?
-
@Sibgath 会做
标签: c# sql sql-server .net-core