我使用DataTable和用户的信息,我想在这个DataTable中search用户或用户列表。 我尝试它butit不工作:( 这是我的C#代码: public DataTable GetEntriesBySearch(string username,string location,DataTable table) { list = null; list = table; string expression; string sortOrder; expression = "Nachname = 'test'"; sortOrder = "nachname DESC"; DataRow[] rows = list.Select(expression, sortOrder); list = null; // for testing list = new DataTable(); // for testing foreach (DataRow row in rows) { list.ImportRow(row); } […]
我刚刚开始使用ADO.NET和DataSets和DataTables。 我遇到的一个问题是,在尝试debugging时,很难判断数据表中有什么值。 快速查看DataTable中保存的值的最简单方法是什么? 有没有方法在debugging时在Visual Studio中查看内容,或者是将数据写入文件的唯一选项? 我创build了一个小工具函数,将一个DataTable写入一个CSV文件。 然而,由此产生的CSV文件被切断。 在写出System.Guid的过程中最后一行应该是大概3行,文件就停止了。 我不知道这是否是我的CSV转换方法,或DataTable的原始人口的问题。 更新 忘记最后一部分,我忘了冲洗我的stream写作。
DataSet和DataTable都实现了IDisposable,所以,通过传统的最佳实践,我应该调用他们的Dispose()方法。 然而,从我目前阅读的内容来看,DataSet和DataTable实际上并没有任何非托pipe资源,所以Dispose()实际上并没有太多的function。 另外,我不能只使用using(DataSet myDataSet…)因为DataSet有一个DataTables的集合。 所以,为了安全起见,我需要遍历myDataSet.Tables,处理每个DataTable,然后处理DataSet。 那么,在我所有的DataSets和DataTables上调用Dispose()是否值得麻烦? 附录: 对于那些认为DataSet应该被处置的人来说:一般来说,处置模式是使用using或try..finally ,因为你要保证Dispose()将被调用。 然而,这对于一个集合来说真的很难实现。 例如,如果对Dispose()的调用之一抛出exception,你会怎么做? 你是否吞下它(这是“坏”),以便继续处理下一个元素? 或者,你是否build议我只是调用myDataSet.Dispose(),而忘记在myDataSet.Tables中configurationDataTables?