0

我对asp.net 很陌生。我正在构建我的第一个真正的应用程序作为测试。使用 SQL Server 2008 RS、VS Express 2012、IIS7.x 和 asp.net4.0

我们每晚都会收到 Fedex 发货信息,这些信息使用 SSIS 插入到 MSSQL 数据库中。然后,我们根据 Ref1 字段中的作业编号导入发票,进行差异匹配并将成本记入作业。这一切都很好。但是,运输部门应该将唯一的 JobNo 放在 ref1 字段中。当然他们没有,而且那里有很多临时工和装运站,所以我们需要修复数据。他们会在 JobNo 后面加上 junk,或者 junk 然后是 job no。当成本核算人员查看发票时,通常很明显工作编号是什么(例如“工作 123 的样品”应该是“123”)。可能有许多行具有相同的 Ref1 需要编辑(例如 20 个具有相同 Ref1 的纸箱)。我有一个带有 3 个参数(OldRef、NewRef、invNo)的 SP,用于更新该发票上所有记录的 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触发器中删除),NEW Ref1(用户在Ref1中输入的编辑值 - 就像插入到SQL中触发器)并执行我的 SP,然后使用更新的值结果集刷新表。

我是使用网格视图以外的东西更好,还是只使用内置的编辑命令以外的东西?

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

谁能指出我正确的方向?

另一方面,我对切换到 C# 持谨慎态度。我发现的大多数示例都在 C# 中。多年前我学习了 C++,并在周末阅读了 C#。似乎并不太难。我确实找到了一份 Microsoft 白皮书,它几乎说 VB 和 C# 之间几乎没有区别,所以没有真正的理由来切换。我的同事不懂 C 或 C#,所以我有点担心万一他们需要帮助,他们会被卡住。对此有什么想法吗?

问候

标记

4

0 回答 0