【发布时间】:2016-07-22 15:25:05
【问题描述】:
我正在尝试在现有 Sql Server DB 的数据集上测试不同的查询。我需要能够为我正在做的项目通过它的 id 列抓取一行。然而,看似简单的查询却没有结果。
DataSet prodspdata = new prodspDataSet();
DataRow[] load;
load = prodspdata.Tables["TripNumber"].Select("[ctripnumber] = '21605178'");
Console.WriteLine(load.Length);
Console.ReadLine();
load.Length 的输出为 0。我从文档中了解到 load 应该是从 Select() 查询返回的行数组。我知道这个结果是通过查看数据而存在的,所以我希望 load.length 为 1。
我在 Sql Server Management Studio 中测试了一个查询,以确保我没有遗漏任何内容:
SELECT * FROM TripNumber WHERE ctripnumber = '21605178'
这将按预期返回 1 行。
我的 Select 查询不正确吗?我是 C# 的新手,我测试错了吗?我只需要知道load 是否包含任何结果,以便我知道我的查询按预期工作。
编辑:看来我的 DataTable 没有行。
DataTable loadTable;
loadTable = prodspdata.Tables["TripNumber"];
Console.WriteLine(loadTable.Rows.Count);
Console.ReadLine();
这会返回0 行,而loadTable.Columns.Count给我133
我是否遗漏了一步,可能与 TableAdapter 相关?
【问题讨论】:
-
如果您显示 prodspDataSet 的代码会有所帮助
-
@Juan 您是否指定 prodspDataSet.Designer.cs 代码?有8400行。当我通过项目 > 添加新数据源将其添加为 Visual Studio 中的数据源时,它是自动生成的。
-
从调试器中探索数据集时是否有行? stackoverflow.com/questions/491555/…
-
@Juan 我发现了我的错误,但要回答你的问题:当我没有先对 TableAdapter 做任何事情时,我在调试器中探索它时没有行。
-
很高兴听到这个消息!
标签: c# visual-studio