二开案例.表单插件.DataReader使用规范

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.表单插件.DataReader使用规范

【应用场景】

使用DataReader时,请使用using代码块,确保数据库连接能被强制关闭。

如果DataReader未及时关闭,可能会产生以下异常:

“已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭”


【案例演示】

采购订单,使用using代码块使用DataReader,读取登录用户的手机号码。


【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【表单插件】DataReader使用规范
    /// </summary>
    [Description("【表单插件】DataReader使用规范"), HotUpdate]
    public class UsingDataReaderFormPlugIn : AbstractDynamicFormPlugIn
    {
        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            var userPhone = string.Empty;
            var sql = "SELECT * FROM T_SEC_USER WHERE FUSERID=@FUSERID";
            var parameter = new SqlParam("@FUSERID", KDDbType.Int32, Context.UserId);
            using (var dr = DBUtils.ExecuteReader(Context, sql, parameter))
            {
                while (dr.Read())
                {
                    userPhone = Convert.ToString(dr["FPHONE"]);
                }
                dr.Close();
            }
            this.View.ShowMessage("当前用户手机号码:" + userPhone);
        }
    }
}



<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,注册表单插件,保存元数据,开发完毕。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.表单插件.DataReader使用规范

【应用场景】使用DataReader时,请使用using代码块,确保数据库连接能被强制关闭。如果DataReader未及时关闭,可能会产生以下异常:“已有...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息