【问题标题】:Full Data Binding to a stored procedure?完全数据绑定到存储过程?
【发布时间】:2013-08-17 18:59:35
【问题描述】:

是否可以将数据绑定到存储过程,类似于表或视图? (即包括选择、更新、删除、插入)

对于选择,我目前正在使用 ExecuteReader() 执行该过程,将其读入 DataTable,然后将表绑定到网格。但是现在,如何将数据表中的更改写回数据库中呢? .NET 框架中是否有“简单”的内置方法?

【问题讨论】:

    标签: c# .net sql-server sql-server-2008 sql-server-2008-r2


    【解决方案1】:

    不,这是不可能的。存储过程可以使用 T-SQL 代码以任何可能的方式生成返回的结果,并且无法通过调用与用于读取数据的过程相同的过程来创建更新。

    一种更现代的数据访问方式是使用 OR-Mapper,例如实体框架。根据您的应用程序类型(将数据发送到客户端然后回发并解释为新对象的 Web 应用程序通常会有点困难),可以进行简单的数据绑定并将更改保存回数据库.

    【讨论】:

      【解决方案2】:

      存储过程无法实现,但SqlCommandBuilder可以实现类似的功能

      这是一个完整的示例,描述了如何做到这一点http://support.microsoft.com/kb/307587

      【讨论】:

      • 抱歉,此示例根本不适用于过程。他们使用 select 语句作为基础:SqlDataAdapter daAuthors = new SqlDataAdapter("Select * From Authors", objConn); 这只是标准数据绑定,我对此一无所知。但是,我只想通过存储过程访问我的数据库。不应直接访问表或视图。
      • 请检查我的答案,我明确指出存储过程不可能
      • 嗯,好的,但我想要一个完全通过程序完成的解决方案。
      猜你喜欢
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2021-09-19
      • 2020-05-21
      • 2012-10-03
      • 1970-01-01
      相关资源
      最近更新 更多