我想在現有的Sql Server數據庫的數據集上測試不同的查詢。我需要能夠通過它的id列獲取我正在執行的項目的一行。看起來像一個簡單的查詢沒有結果。從load.Length
簡單測試DataTable.Select()沒有得到任何結果,當它應該
DataSet prodspdata = new prodspDataSet();
DataRow[] load;
load = prodspdata.Tables["TripNumber"].Select("[ctripnumber] = '21605178'");
Console.WriteLine(load.Length);
Console.ReadLine();
輸出爲0。我從文檔明白,負載應該從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
@Juan您是否指定了prodspDataSet.Designer.cs代碼?有8400行。當我通過Project> Add New Data Source將它作爲Visual Studio中的數據源添加時,它是自動生成的。 – lutze
當您從調試器中探索數據集時是否有任何行? http://stackoverflow.com/questions/491555/how-can-i-easily-view-the-contents-of-a-datatable-or-dataview-in-the-immediate-w – Juan