我正在调整其他人编写的一些代码,并且需要为了时间而返回DataTable.
我有这样的代码:
using (SqlCommand command = new SqlCommand(query, conn))
{
//add parameters and their values
using (SqlDataReader dr = command.ExecuteReader())
{
return dr;
}
Run Code Online (Sandbox Code Playgroud)
但是返回数据表的最佳方法是什么?
设T1和T2是DataTable以下字段
T1(CustID, ColX, ColY)
T2(CustID, ColZ)
Run Code Online (Sandbox Code Playgroud)
我需要联合表
TJ (CustID, ColX, ColY, ColZ)
Run Code Online (Sandbox Code Playgroud)
如何在C#代码中以简单的方式完成此操作?谢谢.
我有一个强类型的DataTable类型MyType,我想转换它List<MyType>.
我怎样才能做到这一点 ?
谢谢.
我正在尝试将DataTable转换为IEnumerable.其中T是我创建的自定义类型.我知道我可以通过创建一个List来实现它,但我认为使用IEnumerable有一种更流畅的方法.这就是我现在拥有的.
private IEnumerable<TankReading> ConvertToTankReadings(DataTable dataTable)
{
var tankReadings = new List<TankReading>();
foreach (DataRow row in dataTable.Rows)
{
var tankReading = new TankReading
{
TankReadingsID = Convert.ToInt32(row["TRReadingsID"]),
TankID = Convert.ToInt32(row["TankID"]),
ReadingDateTime = Convert.ToDateTime(row["ReadingDateTime"]),
ReadingFeet = Convert.ToInt32(row["ReadingFeet"]),
ReadingInches = Convert.ToInt32(row["ReadingInches"]),
MaterialNumber = row["MaterialNumber"].ToString(),
EnteredBy = row["EnteredBy"].ToString(),
ReadingPounds = Convert.ToDecimal(row["ReadingPounds"]),
MaterialID = Convert.ToInt32(row["MaterialID"]),
Submitted = Convert.ToBoolean(row["Submitted"]),
};
tankReadings.Add(tankReading);
}
return tankReadings.AsEnumerable();
}
Run Code Online (Sandbox Code Playgroud)
关键部分是我创建一个List然后使用AsEnumerable()返回它.
将数据集中的一个数据表添加到另一个数据集时会发生此错误."DataTable已经属于另一个DataSet."
dsformulaValues.Tables.Add(m_DataAccess.GetFormulaValues
(dv.ToTable.DefaultView.ToTable(False, strSelectedCols)).Tables(0))
Run Code Online (Sandbox Code Playgroud) DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn(gridColumn1, typeof(bool)));
Run Code Online (Sandbox Code Playgroud)
我期待这一行的结果包含有关DataColumns Type(bool)的信息:
?dt.Columns[0].GetType()
Run Code Online (Sandbox Code Playgroud) 这是一个DataTable dt,它有很多数据.
我想从DataTable中获取特定的Cell值,比如Cell [i,j].哪里,我 - >行和j - >列.我将用两个迭代i,j的值forloops.
但我无法弄清楚如何通过索引调用单元格.
这是代码:
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
for (j = 0; j <= dt.Columns.Count - 1; j++)
{
var cell = dt.Rows[i][j];
xlWorkSheet.Cells[i + 1, j + 1] = cell;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个DataTable,我手动创建并使用C#加载数据.
在SQL Server 2005中创建使用DataTable中的列和数据的表的最有效方法是什么?
我不明白为什么这段代码不起作用.
foreach (DataRow dataRow in dataTable.Rows)
{
if (true)
{
dataRow.Delete();
}
}
Run Code Online (Sandbox Code Playgroud) datatable ×10
c# ×9
.net ×6
ado.net ×2
.net-3.5 ×1
collections ×1
datarow ×1
generics ×1
ienumerable ×1
inner-join ×1
join ×1
sql-server ×1
sqlcommand ×1
vb.net ×1