Dynamics CRM - 使用 C# Plugin 调用 SQL 存储过程

有时候,在 Dynamics CRM Plugin 中通过 linq 查询数据会比较慢,可以通过采用在 C# plugin 中直接调用数据库存储过程的方式来提高效率,具体过程如下:

1.新建一个存储过程:

ALTER PROCEDURE [dbo].[p_Sample]
AS
BEGIN
    SELECT COUNT(dbo.Table.Id) FROM dbo.Table
    WHERE
    dbo.Table.Name LIKE ‘张%‘
END

2.在 Plugin 中调用存储过程:

string sProc = "p_Sample";
string sqlConnection = "Data Source=.;Initial Catalog=DataBaseSample;User ID=sa;PassWord=123456";
using (SqlConnection conn = new SqlConnection(sqlConnection))
{
    SqlCommand cmd = new SqlCommand(sProc, conn);    cmd.CommandType = CommandType.StoredProcedure;
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    DataSet dt = new DataSet();
    adapter.Fill(dt);
    if(dt.Tables[0].Rows[0][0] != null)
    {
        return (int)dt.Tables[0].Rows[0][0];
    }
    else
    {
        return 0;
    }
}

原文地址:https://www.cnblogs.com/Sunny20181123/p/10663226.html

时间: 2024-08-29 23:01:38

Dynamics CRM - 使用 C# Plugin 调用 SQL 存储过程的相关文章

Dynamics CRM - C# Delete Plugin

目的: 在Dynamics CRM 开发中,最常用的就是通过 Create Plugin 和 Update Plugin 来实现各种定制功能,当然也存在使用 Delete Plugin 的情况,本篇就简单讲一下 Delete Plugin 怎么用. 场景: 在CRM开发中,表与表之间通过 lookup 字段来建立,现在假设有以下场景需求:    比如存在一个产品表A以及一个子产品表B,在表B中建立一个lookup A表的字段,而表A中存在一个字段来统计子产品个数(即在表B中有多少条record是

解决多线程调用sql存储过程问题

场景: 我们程序现在改成多线程了,我现在需要把临时表中的数据给插入到TABLE_M中,但这时候可能其他的线程也在插入,我就不能用之前我们的方案了(select max(oid) from Tuning.TABLE_M...,之后去维护主子表关系,改掉TABLE_M的OID的自增属性,插入,之后再添加上自增属性......) 我现在是想这样操作: 1,)先插入把临时数据插入到TABLE_M(OID是自增的)中(Insert Into ….select …),我之后获取 select Scope_I

关于MVC工厂模式的增删改查sql存储过程

这里MVC中用到了反射,工厂,泛型,接口 在搭建框架的时候,除了MVC的三层以外,还有泛型的接口层和工厂层 下面是dal层调用sql存储过程,增删改查,dal层继承了接口层,实现了接口层里面的方法 1 namespace DAL 2 { 3 public class DalHouse : IHouse 4 { 5 public int Add(HouseInfo m) 6 { 7 string sql = "pro_add"; 8 SqlParameter eid = new SqlP

qt调用sql server存储过程并获取output参数

最近新做的一个项目需要使用qt连接另一台机器上的sql server,虽然网上已有类似文章,但还是有些其中很少提及的问题,故在这里汇总下: qt连接sql server可以参考这篇文章,如果是连接另一台机器的sql server就不用执行第一步“开启ODBC驱动”了 http://www.cnblogs.com/shaolw/p/3411285.html 另外指定数据库用户名和密码可以使用Uid和Pwd,即原文dsn参数可以这样写: QString dsn = QString("Driver={

Java调用SQL Server的存储过程详解

转载自Microsoft的官方文档 http://msdn2.microsoft.com/zh-cn/library/ms378995.aspx收录于 www.enjoyjava.net/f25 本文较长,包含了如下几部分 使用不带参数的存储过程 使用带有输入参数的存储过程 使用带有输出参数的存储过程 使用带有返回状态的存储过程 使用带有更新计数的存储过程 1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义

SQL 语句调用这个存储过程,生成顺序编码

一直很讨厌存储过程,没想到今天帮了我大忙啊,或许会因为今天让我慢慢喜欢上存储过程吧,不多说了,切入正题 在使用数据库的时候,难免要在使用过程中进行删除的操作,如果是使用int类型的字段,令其自增长,这是个最简单的办法,但是后果会有些不是你想要的!看下这个Demo: 1.建立这样的简单的表Test. 2.设置字段id的自增. 3.表添加数据 insert into Test(name) values('TestName') insert into Test(name) values('TestNa

Dynamics CRM 2015/2016 Web API:注册 APP(调用CRM Online Web API)

在之前的三篇文章中,博主提到过Web API将会成为Dynamics CRM 的主流编程接口,所以它的重要性是不言而喻的.那今天,我们来看看调用CRM Online Web API之前需要做些什么准备工作,之前的博文并没有介绍这步,今天给大家补上.在后续的一段时间呢,我会写篇怎么在重客户端调用Dynamics CRM On Premise版本的Web API. 在调用Dynamics CRM Online Web API之前呢,我们需要创建一个与其关联的AD环境,创建方式很简单:在Office

(转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法

本文转载自:http://hedyn.iteye.com/blog/856040 在JDBC中调用SQL Server中的存储过程时出现如下异常: com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171) at com.microsof

微软Dynamics CRM 2013 系统和SQL server 备份 为升级 CRM 2015版本准备

主要是系统的备份和SQL Server数据库备份 备份CRM Server ,主要是系统的备份功能 ,如果在虚拟机中运行,就备份虚拟机 如果想备份的量少点,就备份CRM程序文件所在目录 C:\Program Files\Microsoft Dynamics CRM\ C:\Program Files\Microsoft Dynamics CRM Reporting Extensions\ 网站所在目录: C:\Program Files\Microsoft Dynamics CRM\CRMWeb