【问题标题】:Query a Datatable/DataSet with SQL statement使用 SQL 语句查询数据表/数据集
【发布时间】:2014-09-06 21:41:14
【问题描述】:

有没有一种方法可以像使用 C# 中的真实数据库一样使用 SQL 语句查询数据集或数据表?

例如,我有一个数据表X(在内存中),我想在该数据表上运行一个选择命令:

Select * from X

感谢您的帮助!

【问题讨论】:

  • 是显示datatable中的数据还是插入sql中
  • 我希望两者都能做到。但重要的是我可以使用与数据库完全相同的语句。
  • 很像 DataTable 的 Select method 是你想要的。另外,看看 LINQ 技术,它与你的问题非常接近。
  • 要执行相同的查询,您必须调用 SQL 语句。由于多种原因,当您在 c# 环境中操作时,这很不方便。
  • 现在是否方便并不重要。我怎么做?我试过了,但到目前为止还没有工作。如何在数据集或数据表上调用 sql 语句?总是需要 sqlconnection?

标签: sql datatable dataset sqlcommand


【解决方案1】:

你需要这样做。

假设 dt 是您的数据表,那么您将需要申请 for 循环以从数据表或数据集中获取 eac 和每条记录。

for (int i = 0; dt.Rows.Count > i; i++)
            {
                //Your Query
            }

插入查询,如

insert into tableName values ( dt.Rows[i].ItemArray.GetValue(0).ToString(),
dt.Rows[i].ItemArray.GetValue(1).ToString(), 
dt.Rows[i].ItemArray.GetValue(2).ToString() etc...)

如果你想避免循环,你也可以试试这个 SqlBulkCopy

SqlBulkCopy class

【讨论】:

  • 谢谢,但这不是我要找的。我想在数据集上执行 sqlcommand,方式与在真实数据表上执行的方式完全相同。或者至少我想知道这是否根本不可能
  • 如果你想避免循环,那么你可以使用sql bulk class。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-22
  • 2016-11-02
  • 1970-01-01
  • 2017-06-26
  • 2020-12-01
  • 2014-08-15
  • 1970-01-01
相关资源
最近更新 更多