草庐IT

dataTables

全部标签

c# - 获取具有名称的 DataTable 列的索引

我有一些代码可以按列名设置DataRow中单元格的值,即row["ColumnName"]=someValue;我还想在紧靠上面找到的右侧的列中设置此行的值。显然,如果我通过索引而不是列名获取单元格,这将很容易。那么有没有一种方法可以从列名中获取列索引,从而允许我这样做:row[index+1]=someOtherValue;即我是否需要在最初创建表时创建某种列索引和列名的字典,或者我可以在以后不这样做的情况下从列名中获取索引? 最佳答案 您可以使用DataColumn.Ordinal获取DataTable中列的索引。因此,如果您需

c# - 用 DataTable 替换 DataReader

我正在改编其他人编写的一些代码,为了节省时间,我需要返回一个DataTable。我有这样的代码:using(SqlCommandcommand=newSqlCommand(query,conn)){//addparametersandtheirvaluesusing(SqlDataReaderdr=command.ExecuteReader()){returndr;}但是返回数据表的最佳方式是什么? 最佳答案 使用DataTable.Load使用SqlDataReader中的值填充表格的方法:using(SqlDataReaderd

c# - 如何使用 C# 'foreach' DataTable 中的列?

如何使用foreach遍历数据行中的每一列?DataTabledtTable=newDataTable();MySQLProcessor.DTTable(mysqlCommand,outdtTable);foreach(DataRowdtRowindtTable.Rows){//foreach(DataColumndcindtRow)} 最佳答案 这应该有效:DataTabledtTable;MySQLProcessor.DTTable(mysqlCommand,outdtTable);//Onalltables'rowsforea

c# - 如何将DataTable的一列转换成List

我有一个包含多列的数据表。我想要一个List从DataTable的第一列中取出。我该怎么做? 最佳答案 试试这个:staticvoidMain(string[]args){vardt=newDataTable{Columns={{"Lastname",typeof(string)},{"Firstname",typeof(string)}}};dt.Rows.Add("Lennon","John");dt.Rows.Add("McCartney","Paul");dt.Rows.Add("Harrison","George");dt

c# - 将 IEnumerable 转换为 DataTable

是否有将IEnumerable转换为DataTable的好方法?我可以使用反射来获取属性和值,但这似乎有点低效,是否有内置的东西?(我知道这样的例子:ObtainDataTableFromIEnumerable)编辑:这question通知我处理空值时出现问题。我在下面编写的代码正确处理了空值。publicstaticDataTableToDataTable(thisIEnumerableitems){//Createtheresulttable,andgatherallpropertiesofaTDataTabletable=newDataTable(typeof(T).Name);

c# - 如何从 DataTable 中提取数据?

我有一个DataTable,它是从SQL查询到本地数据库填写的,但我不知道如何从中提取数据。主要方法(在​​测试程序中):staticvoidMain(string[]args){conststringconnectionString="server=localhost\\SQLExpress;database=master;integratedSecurity=SSPI;";DataTabletable=newDataTable("allPrograms");using(varconn=newSqlConnection(connectionString)){Console.Write

c# - 使用 EPPlus 将 DataTable 导出到 Excel

我想用EPPlus将数据表导出到Excel文件。该数据表有一个int类型的属性,所以我想在Excel文件中使用相同的格式。有谁知道如何将这样的DataTable导出到Excel? 最佳答案 using(ExcelPackagepck=newExcelPackage(newFile)){ExcelWorksheetws=pck.Workbook.Worksheets.Add("Accounts");ws.Cells["A1"].LoadFromDataTable(dataTable,true);pck.Save();}这应该可以解决您

c# - 从 DataTable 中删除特定行

我想从DataTable中删除一些行,但是它给出了这样的错误,Collectionwasmodified;enumerationoperationmightnotexecute我用来删除这段代码,foreach(DataRowdrindtPerson.Rows){if(dr["name"].ToString()=="Joe")dr.Delete();}那么,问题是什么以及如何解决呢?您建议使用哪种方法? 最佳答案 如果您从集合中删除一项,则该集合已更改,您无法继续枚举它。改为使用For循环,例如:for(inti=dtPerson.

c# - 将 SQL 表读入 C# DataTable

我已经阅读了很多关于将DataTable插入到SQL表中的帖子,但是有没有一种简单的方法可以将SQL表拉入.NETDataTable中? 最佳答案 在这里,试一试(这只是一个伪代码)usingSystem;usingSystem.Data;usingSystem.Data.SqlClient;publicclassPullDataTest{//yourdatatableprivateDataTabledataTable=newDataTable();publicPullDataTest(){}//yourmethodtopullda

c# - 从 C# 中的 DataTable 中删除列

我有一个数据集,我从中得到一个数据表,我从函数调用中传回。它有15-20列,但我只需要10列数据。有没有办法删除那些我不想要的列,将DataTable复制到另一个只定义了我想要的列的方法,或者迭代集合并只使用我需要的列更好。我需要将值写入固定长度的数据文件。 最佳答案 除了限制选择的列以减少带宽和内存之外:DataTablet;t.Columns.Remove("columnName");t.Columns.RemoveAt(columnIndex); 关于c#-从C#中的DataTab