使用gridview控件进行asp.net多行更新,无需循环(vb.net)

时间:2012-12-11 01:02:48

标签: asp.net stored-procedures gridview sqldatasource bulk

我是asp.net的新手。我正在构建我的第一个真正的应用程序作为测试。使用SQL Server 2008 RS,VS Express 2012,IIS7.x和asp.net4.0

我们每晚都会收到使用SSIS插入MSSQL DB的Fedex货件信息。然后,我们根据Ref1字段中的作业编号导入发票,进行差异匹配并将成本预订到作业。这一切都很棒。但是,运输部门应该只将JobNo放在ref1字段中。当然他们没有和很多临时工和发货站,所以我们需要修复数据。他们会把JobNo跟着垃圾,或垃圾,然后工作没有。当成本计算人员查看发票时,通常明显的是工作没有(例如“工作样本123”应为“123”)。可能有许多行具有相同的Ref1需要编辑(例如20个具有相同Ref1的纸箱)。我有一个带有3个参数的SP(OldRef,NewRef,invNo),它更新了发票上所有记录的Ref no:

    UPDATE InvoiceLines
    SET REF1 = @NewRef1
    WHERE InvNo = @InvNo and Ref1 = @OldRef1

我认为GridView(带有sqldatasource)将是一种很好的呈现数据的方式。我只显示Ref1字段无效的行,当用户更正它们时,记录的数量减少。

我希望用户选择一行,编辑Ref1值,我只得到所选行的(旧)RefNo,它是新值,并用那些和InvNo调用我的SP(来自DropDown,过滤了发票行表。)

事实证明,我认为这更加困难/低效。

我发现做的所有这些类型的例子,让用户点击所有行,然后循环遍历每一行进行更新。谈论缓慢和痛苦。我想执行一个SP并更新所有匹配的行,然后刷新列表。

所以我想弄清楚的是如何获取OLD Ref1(在编辑之前Ref1中的值 - 就像在SQL触发器中删除的那样),新Ref1(用户在Ref1中键入的编辑值 - 如插入在SQL触发器中)并执行我的SP,然后使用更新的值结果集刷新表。

我最好使用除网格视图之外的其他内容,还是仅使用内置编辑命令之外的其他内容?

如果我确实知道如何进行更新,我该如何刷新GridView。

有人能指出我正确的方向吗?

另一方面,我正在谈论切换到C#。我发现的大多数例子都是在C#中。我多年前学过C ++,周末读C#。这似乎并不太难。我确实找到了一份微软白皮书,它几乎说VB和C#之间没有什么区别,所以没有真正的理由可以切换。我的同事不知道C或C#,所以我只是担心在不太可能的情况下他们需要帮助,他们会被卡住。有什么想法吗?

此致

标记

0 个答案:

没有答案