Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataTable.Select()的简单测试在应该的时候没有得到任何结果_C#_Visual Studio - Fatal编程技术网

C# DataTable.Select()的简单测试在应该的时候没有得到任何结果

C# DataTable.Select()的简单测试在应该的时候没有得到任何结果,c#,visual-studio,C#,Visual Studio,我正在尝试测试来自现有Sql Server数据库的数据集上的不同查询。我需要能够抓住它的id列为我正在做的项目的一行。然而,看似简单的查询不会得到任何结果 DataSet prodspdata = new prodspDataSet(); DataRow[] load; load = prodspdata.Tables["TripNumber"].Select("[ctripnumber] = '21605178'"); Console.WriteLine(load.Length); Co

我正在尝试测试来自现有Sql Server数据库的数据集上的不同查询。我需要能够抓住它的id列为我正在做的项目的一行。然而,看似简单的查询不会得到任何结果

DataSet prodspdata = new prodspDataSet(); 

DataRow[] load;
load = prodspdata.Tables["TripNumber"].Select("[ctripnumber] = '21605178'");

Console.WriteLine(load.Length);
Console.ReadLine();
load的输出。长度为0。我从文档中了解到,load应该是Select查询返回的行数组。我知道这个结果是通过查看数据得到的,所以我希望load.length为1

我在Sql Server Management Studio中测试了一个查询,以确保没有遗漏任何内容:

SELECT * FROM TripNumber WHERE ctripnumber = '21605178'
这将按预期返回1行

我的Select查询是否错误?我是C的新手,我测试错了吗?我只需要知道load是否包含任何结果,这样我就知道我的查询按预期工作

编辑:看来我的数据表没有行

DataTable loadTable;
loadTable = prodspdata.Tables["TripNumber"];
Console.WriteLine(loadTable.Rows.Count);
Console.ReadLine();
这将返回0行,而loadTable.Columns.Count将返回133行


我是否遗漏了一个步骤,可能与TableAdapter有关?

不要在筛选中使用方括号

load = prodspdata.Tables["TripNumber"].Select("ctripnumber = '21605178'");

还请记住,可以使用Visual Studio调试器查看数据集和数据表的内容。

不要在筛选中使用方括号

load = prodspdata.Tables["TripNumber"].Select("ctripnumber = '21605178'");

还请记住,您可以使用Visual Studio调试器查看数据集和数据表的内容。

我实际上没有用任何东西填充数据集,这是导致问题的原因。我严重忽视了桌子。我添加的代码是:

prodspDataSetTableAdapters.TripNumberTableAdapter ta = new prodspDataSetTableAdapters.TripNumberTableAdapter();

DataTable loadTable = ta.GetData();

因此,如果不实例化TableAdapter,也不使用基于TableAdapter设置的数据填充表,则基本上会得到一个包含表、列和无值的空数据库模式。新手的错误。

我实际上没有用任何东西填充我的数据集,这导致了问题。我严重忽视了桌子。我添加的代码是:

prodspDataSetTableAdapters.TripNumberTableAdapter ta = new prodspDataSetTableAdapters.TripNumberTableAdapter();

DataTable loadTable = ta.GetData();

因此,如果不实例化TableAdapter,也不使用基于TableAdapter设置的数据填充表,则基本上会得到一个包含表、列和无值的空数据库模式。新手犯了错误。

如果您显示的代码prodspDataSet@Juan是否指定prodspDataSet.Designer.cs代码?共有8400行。当我在Visual Studio中通过项目>添加新数据源将其作为数据源添加时,它是自动生成的。从调试器中浏览数据集时,是否有行@Juan我发现了我的错误,但要回答您的问题:当我没有首先使用TableAdapter进行任何操作时,在调试器中探索它时没有行。很高兴听到这个消息!如果您显示的代码prodspDataSet@Juan是否指定prodspDataSet.Designer.cs代码?共有8400行。当我在Visual Studio中通过项目>添加新数据源将其作为数据源添加时,它是自动生成的。从调试器中浏览数据集时,是否有行@Juan我发现了我的错误,但要回答您的问题:当我没有首先使用TableAdapter进行任何操作时,在调试器中探索它时没有行。很高兴听到这个消息!我尝试了带括号和不带括号的列名,结果相同。我尝试了带括号和不带括号的列名,结果相同。