【问题标题】:Executing T-Sql View from ADO.NET从 ADO.NET 执行 T-Sql 视图
【发布时间】:2010-06-16 18:55:37
【问题描述】:

这是否可以从 C# 代码执行视图。如果是,那么我想知道参数化视图是否存在以及我应该如何使用它们。参数化意味着我们在存储过程中使用相同的参数来说明 where 条件。

【问题讨论】:

    标签: c# tsql


    【解决方案1】:

    不执行视图。一个执行查询。如果查询从视图或表中选择行,ADO.NET 不知道也不关心。

    【讨论】:

    • 谢谢我知道了。我有点困惑。 Views 充当虚拟表,我们可以根据合适的条件创建 sp 或查询。
    【解决方案2】:

    您对待视图的方式与对待表格的方式相同(即用于选择)。

    FROM 子句中使用表的参数化查询同样适用于视图。

    不要将视图与存储过程混淆 - 存储过程被执行,视图只是被执行。您使用SELECT 语句通过查询从视图中读取数据。

    【讨论】:

      【解决方案3】:

      将 veiw 视为直接 SQL,其中视图名称替换表名称:即 从 v_employee_department 中选择 *...vs...从员工中选择 * 其中 v_employee_edpartment 是连接员工表和部门表的视图

           // Declare connection string.
           string connStr = Properties.Settings.Default.ConnectionString;
           OracleConnection cn = new OracleConnection(connStr);
      
           // STEP 1: Execute command 
           string selectCommandTotal = "SELECT ID FROM <SOME_VIEW> WHERE <SOME_FIELD> = <SOME_VALUE> ";
           OracleCommand cmdGetTotals = new OracleCommand(selectCommandTotal, cn);
      
           cmdGetTotals.Connection.Open();
           OracleDataReader rdrGetTotals = cmdGetTotals.ExecuteReader();
      

      【讨论】:

        猜你喜欢
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        • 2021-08-23
        相关资源
        最近更新 更多