Dim dt As New DataTable
Dim da As New SqlDataAdapter(s, c)
c.Open()
If Not IsNothing(da) Then
da.Fill(dt)
dt.Select("GroupingID = 0")
End If
GridView1.DataSource = dt
GridView1.DataBind()
c.Close()
Run Code Online (Sandbox Code Playgroud)
当我调用da.fill时,我将从查询中插入所有记录.我当时希望过滤它们以仅显示GroupingID等于0的那些.当我运行上面的代码时.我收到了所有数据,过滤器无法正常工作.请问您能告诉我如何使其正常工作.谢谢.
我foreach在使用时Select在内部得到错误datatable.
这是我到目前为止尝试的代码
foreach (DataRow drOuter in dtLogic.Select("Name='>' OR Name='='"))
{
foreach (DataRow drInner in dtLogic.Select("ParentId=" + Convert.ToInt64(drOuter["Id"]) + ""))
{
}
}
Run Code Online (Sandbox Code Playgroud)
我在办理登机手续时Convert.ToInt64(drOuter["Id"])有价值的地方.那为什么会抛出以下错误?2107362180Immediate Window

我正在从DataTables中的三个制表符分隔文件导入数据,然后我需要遍历主表的每一行并找到两个子表中的所有行.对于我从子表中找到的每个DataRow []数组,我必须再次单独遍历每一行并根据不同的参数检查值,最后我需要创建一个最终记录,这将是主人和两个孩子的合并表列.现在我已经完成了它的工作,但问题在于它的性能.我正在使用DataTable.Select来查找子表中的所有子行,我认为这些行非常慢.请记住表中没有任何主键,因为重复行是可接受的.目前我在主表中有1200行,在子表中有8000行,这样做的总时间是8分钟.
不知道如何提高性能.提前致谢
代码低于***************
DataTable rawMasterdt = importMasterFile();
DataTable rawDespdt = importDescriptionFile();
dsHelper = new DataSetHelper();
DataTable distinctdt = new DataTable();
distinctdt = dsHelper.SelectDistinct("DistinctOffers", rawMasterdt, "C1");
if (distinctdt.Rows.Count > 0)
{
int count = 0;
foreach (DataRow offer in distinctdt.Rows)
{
string exp = "C1 = " + "'" + offer[0].ToString() + "'" + "";
DataRow masterRow = rawMasterdt.Select(exp)[0];
count++;
txtBlock1.Text = "Importing Offer " + count.ToString() + " of " + distinctdt.Rows.Count.ToString();
if (masterRow != null )
{
Product …Run Code Online (Sandbox Code Playgroud) 所以我有一个经销商名单列表,我在我的数据表中搜索它们 - 问题是,有些傻瓜被命名为'Young'' - 这会导致错误.
drs = dtDealers.Select("DealerName = '" + dealerName + "'");
Run Code Online (Sandbox Code Playgroud)
所以我试图替换字符串(虽然它对我没用 - 也许我不知道如何使用替换...)
DataRow[] drs;
if (dealerName.Contains("'"))
{
string dealerSearch = dealerName;
dealerSearch = dealerSearch.Replace("'", "\'");
drs = dtDealers.Select("DealerName = '" + dealerSearch + "'");
}
else
{
drs = dtDealers.Select("DealerName = '" + dealerName + "'");
}
Run Code Online (Sandbox Code Playgroud)
有人有什么好主意吗?
谢谢!托德