如何将事件处理程序添加到表适配器中的 RowUpdated 事件

2024-05-29

我有一个表适配器,我想在触发 RowUpdated 事件时执行一些操作。我不知道在哪里放置代码以将处理程序添加到事件。

public partial class MyTableAdapter
{
  void OnRowUpdated(object sender, System.Data.Odbc.OdbcRowUpdatedEventArgs e)
  {
  }
}

创建 TableAdapter 时如何运行下面的代码?

Adapter.RowUpdated += 
                   new System.Data.Odbc.OdbcRowUpdatedEventHandler(OnRowUpdated);

我分两个阶段解决了这个问题。

A。添加部分类并扩展表适配器

b.在使用此适配器之前首先调用一个方法(例如在创建它的实例之后在主窗体中)。

下面的代码是为了解决我使用 SQL CE 的特定问题,以便能够更新表上的 ID。但是,您可以使用扩展方法来包装 RowUpdated 事件并将其公开给其他类(即 MyRowUpdated)

扩展名

public partial class ScannedItemsTableAdapter
{
    public void InitEvents()
    {
        this._adapter.RowUpdated += _adapter_RowUpdated;
    }

    void _adapter_RowUpdated(object sender, SqlCeRowUpdatedEventArgs e)
    {
        if (e.Status == UpdateStatus.Continue && 
            e.StatementType == StatementType.Insert)
        {
            var pk = e.Row.Table.PrimaryKey;
            pk[0].ReadOnly = false;

            SqlCeCommand cmd = new SqlCeCommand("SELECT @@IDENTITY", 
               e.Command.Connection, e.Command.Transaction);

            object id = (decimal)cmd.ExecuteScalar();

            e.Row[pk[0]] = Convert.ToInt32(id);
            e.Row.AcceptChanges();
        }
    }
}

主窗体中的调用:

        tableAdapter = new ScannedItemsTableAdapter();
        tableAdapter.Fill(ds.ScannedItems);
        tableAdapter.InitEvents();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将事件处理程序添加到表适配器中的 RowUpdated 事件 的相关文章

  • 预加载整个模型以估计 Tensorflow Serving 的内存消耗

    当执行预测时 Tensorflow Serving 延迟初始化模型 DAG 中的节点 这使得很难估计保存整个模型所需的内存 RAM 是否有一种标准方法可以强制 Tensorflow Serving 将模型完全初始化 加载到内存中 您可以使用
  • 使用和重载基类的模板成员函数?

    下面 构造Y超载X的成员函数f 两个重载都是模板函数 但采用不同的参数 typename and int 明确指定 struct X template
  • 在 Windows 应用商店应用程序 (Win 8.1) 中使用 MIDI

    我的目标是在 Windows 应用商店应用程序中接收 MIDI 消息 微软提供了一个名为Microsoft WindowsPreview MidiRT 作为 nuget 包 我设法获得了 MIDI 端口 但是MessageReceived尽
  • 共享库 C++ Makefile

    我需要编译胖二进制文件才能在另一台 Linux 机器上使用它 但缺少一些库 因此据我了解 我应该使用一些 shared 选项来编译它 但我不明白如何为此配置 Makefile 目前我的 makefile 如下所示 CC g CC FLAGS
  • 如何使用 lstat() 确定是否为硬链接

    我的操作系统是linux 我用 C 编程 我知道我可以使用 lstat 来识别软链接 即使用 S ISLNK st st mode 但我如何识别该链接是硬链接呢 如果链接是硬链接 它将被视为常规文件 但是 我还想区分常规文件和硬链接 有什么
  • 如何向 Iron Python 添加模块?

    我一直在尝试使用 C Visual Studio 执行以下 Python 代码 graphcreater py 我通过 NuGet 包管理器添加了 IronPyton 2 7 7 和 IronPython StdLib 2 7 7 一旦我运
  • 创建一个从用户机密获取连接字符串的 DbContextFactory

    使用 DotNetCore 解决方案WebApi项目和一个单独的Data包含实体框架实现的项目 我们一直在升级库 因此我们使用所有最新的核心内容 In the Data项目 我们创建了一个ApplicationDbContextFactor
  • 为什么要在 C 和 C++ 项目中创建 include/ 目录?

    当我处理我的个人 C 和 C 项目时 我通常把file h and file cpp在同一目录中 然后file cpp可以参考file h with a include file h 指示 然而 通常会发现库和其他类型的项目 如 linux
  • 无符号长十六进制表示

    include
  • 编译器错误? g++ 允许可变大小的静态数组,除非函数是模板化的

    下面的代码演示了我无法解释的 gcc 4 6 2 的行为 第一个函数声明一个 vec t 类型的静态数组 其中 vec t 是 unsigned char 的 typedef 别名 第二个函数是相同的 只是 vect t 的类型是模板参数
  • Linux 相当于 GetCommandLine 和 CommandLineToArgv?

    我想知道是否有一些 API 可以在 Linux 上获取当前进程的命令行参数 我想我是非常不清楚的 该问题的真正目的是通过命令行参数传递 unicode 文件名 从文件中读取 proc self cmdline 例如 wallyk zf od
  • 在 Linux 上用 C 跟踪键盘和鼠标事件

    如何在 Linux 中用 C 语言跟踪键盘或鼠标事件 Like for example if the user presses ESC Shift etc I should be able to track it Same way for
  • C# 中的任意精度小数?

    是否存在任意精度decimal类可用于 C 吗 我见过几个任意精度整数类 但这并不完全相同 您可以使用 J 库java math BigDecimal类 如果已安装 只需添加一个引用即可vjslib me remembers one of
  • 使用二维动态数组编写一个类

    我有一个家庭作业 我并不是在寻找任何人为我做这项工作 我只是在一个小方面遇到了麻烦 尽管我也接受其他方面的建议 任务是 使用二维动态数组编写一个类 构造函数传入数组的维度 构造函数还将动态数组中的所有值初始化为行索引乘以列索引 交换二维数组
  • 如何在 JSON 输出上强制采用 ISO 格式“YYYY-MM-DDThh:mm:ss.sss”?

    我有一个 ASP NET WebApi2 api 它返回一些 JSON 格式的时间戳 时间戳具有毫秒分辨率 通常我会得到这种格式的时间戳 这很好 YYYY MM DDThh mm ss sss 不幸的是 如果时间戳恰好用整秒对日期进行编码
  • Action 的通用约束未按预期工作

    我无法理解为什么以下代码片段没有给我错误 public void SomeMethod
  • C# 固定长度的字符串对象

    我有一堂课 我想使用固定大小的字符串 固定大小的原因是该类 序列化 为文本文件 具有固定长度的值 我想避免为每个值编写一个保护子句 而是让类处理它 所以我有大约 30 个属性 看起来像这样 public String CompanyNumb
  • 如何获取字典元素的相对位置?

    我有下一个 C 代码 Dictionary
  • 着色器可以旋转形状以面向相机吗?

    我制作了一个球出现在 3D 空间中的场景 三角球耗费大量资源 所以我使用带有球纹理的二维表面 四边形 来完成此操作 但现在我需要在每次相机移动时调整形状的方向 我使用位置变换和 LookAt 方法来完成此操作 问题是我可以优化这个吗 如果可
  • Xamarin - iOS 地图上的多个多边形

    我目前正在关注this https developer xamarin com guides xamarin forms application fundamentals custom renderer map polygon map ov

随机推荐

  • 如何只检出在一系列 SVN 修订版中修改过的文件?

    是否可以仅从 SVN 存储库中签出在一个修订版或修订版范围内修改过的文件 而不签出任何未修改的文件 我的建议与弗洛洛的建议相同 但是 需要一个范围 您可以使用以下 shell 函数 function checkout files in re
  • 将 json 反序列化为对象:包装类解决方法

    这是我的 json accessType Grant spaces spaceId 5c209ba0 e24d 450d 8f23 44a99e6ae415 privilegeId db7cd037 6503 4dbf 8566 2cca4
  • 如何将 mcmc.list 转换为 bugs 对象?

    我正在使用rjagsR 库 功能coda samples产生一个mcmc list 例如 来自example coda samples library rjags data LINE LINE recompile LINE out lt c
  • 动物园管理员服务器已启动但没有输出

    我已经在zoo cfg中设置 clientPort 2181 cloudera cloudera vm sudo usr lib zookeeper bin zkServer sh 启动 我得到以下回复 JMX enabled by def
  • 为什么我的地图视图上的叠加层没有显示?

    我按照 google hellomapview 教程中的说明进行操作 我得到了一个工作地图视图等 但是添加到地图中的两个项目没有显示 它们似乎在某个地方 因为点击指定位置会显示添加到项目中的消息 Edit 这是我的源代码 应该和google
  • TFS 构建代理无法找到 npm

    在本地托管的 TFS 上 我在构建定义中使用 npm install 构建步骤 在我安装的代理机器上nodejs https nodejs org en 并且可以运行npm从命令行 当我尝试对构建进行排队时 我会弹出一条消息 找不到具有以下
  • Facebook 身份验证无需重定向?

    有没有办法在不重定向的情况下使用 facebook 身份验证 OAuth 2 0 我没有使用 facebook 登录按钮 所以我应该重定向到https www facebook com dialog oauth https www face
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • Sql批量复制截断小数

    当我使用批量复制将十进制值从 C DataTable 插入 Sql Server 2005 时 值会被截断而不是四舍五入 DataTable 中的数据类型为 Decimal 数据库中的数据类型为Decimal 19 3 数据表中的值为 1
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • 当单词以“|”分隔时如何读取文件(埃因霍温)?

    在Python中 我有一个文件 其中的单词由 例如 city state zipcode 我的文件阅读器无法区分单词 另外 我希望我的文件阅读器从第 2 行而不是第 1 行开始 如何让我的文件阅读器分隔单词 import os import
  • 参考上一个问题:为什么 VBA 没有加载所有发票详细信息

    除了上一个问题之外 我们在销售发票上仍然存在相同的加载失败问题 下面的 VBA Json 仍然仅加载一行或第一个产品详细信息行 而不是与表中该销售发票合作的所有产品行详细信息 我们希望下面的 VBA 能够根据参数加载发票详细信息 例如 如果
  • 如何为 Firebase 云功能设置 vpc 连接器?

    Firebase Cloud Functions 在 GCP 之上运行 因此 它们是否支持使用专有网络连接器 https cloud google com functions docs connecting vpc 我想要实现的目标是限制转
  • 将 KeyDown 事件传递给其他控件

    我正在编写一个 C WinForms 应用程序 NET 4 0 我有一个WinFormsControl on a Form 用户开始使用键盘输入内容后 另一个Control出现 那Control是某种文本输入 我想将用户输入发送到该Cont
  • 在 Nginx 中使用查询参数绕过基本身份验证

    在我的 nginx 配置中 我打开了基本身份验证来限制对站点的访问 如下所示 auth basic Restricted Area auth basic user file path to htpasswd 这适用于用户 但我们使用的一些工
  • 如何从上下文菜单中显示模式弹出窗口?

    如何从上下文菜单中显示模式对话框 我可以从上下文菜单中显示一个新窗口 该窗口在自己的选项卡中打开 var menuItem id rateMenu title Rate Item contexts all chrome contextMen
  • Android 和 Honeycomb - 如何使用 SDK 13 拥有菜单图标而不需要“操作栏”

    我想最大限度地利用 Honeycomb 应用程序的屏幕 由于屏幕底部已经被 始终打开 的项目所困 我想在该空间中添加一个菜单按钮 而不是牺牲更多的屏幕空间 在顶部放置一个 操作栏 我怎样才能做到这一点without降级到 API 10 或更
  • 在构建服务器上运行单元测试时出现 BadImageFormatException

    我在一个具有 AnyCPU 架构的项目中进行了一套 NUnit 测试 其中一些测试使用 x86 32 位 程序集中的类型 当我在本地运行测试 通过 ReSharper 时 它们都通过了 然而 当它们在 Jenkins 上执行时使用nunit
  • 如何将事件处理程序添加到表适配器中的 RowUpdated 事件

    我有一个表适配器 我想在触发 RowUpdated 事件时执行一些操作 我不知道在哪里放置代码以将处理程序添加到事件 public partial class MyTableAdapter void OnRowUpdated object