如何解决Remoting无法传输存储过程参数的问题

2016-02-19 17:55 14 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享如何解决Remoting无法传输存储过程参数的问题吧。

【 tulaoshi.com - Web开发 】

     在项目的开发中使用Remoting,并且所有的数据请求服务都是通过Remoting完成的,所以自然就在其中到了传递参数的存储过程,在业务逻辑中把参数构建好后传递到Remoting服务端,在取出存储过程的参数时报错,具体错误不记得了,自己尝试了各种方法也不行,上网资讯也没有结果,最后变通了一下,问题解决了,例子如下:

  以下部分为客户调用端

         

   1//先声明参数
   2        private const string PARAM_GUID = "@GUID";
   3        private const string PARAM_VGA_TREEGUID = "@VGATreeGUID";
   4        private const string PARAM_MB_TREEGUID = "@MBTreeGUID";
   5
   6        public static string GetProductTypeByGUID(string GUID, String VGATreeID, String MbTreeID)
   7        {
   8            try
   9            {
  10                int lcID = Thread.CurrentThread.CurrentUICulture.LCID;
  11
  12                BaseModel bt = new BaseModel();
  13
  14                //构建一个哈希表,把参数依次压入
  15                Hashtable parames = new Hashtable();
  16                parames.Add(PARAM_PROGUID, GUID);
  17                parames.Add(PARAM_VGA_TREEGUID, VGATreeID);
  18                parames.Add(PARAM_MB_TREEGUID, MbTreeID);
  19
  20                //把存储过程名称和带参数的哈希表传入
  21                DataAccess.DataBase.RunProcedureDataSet(lcID, "GetProductTypeByTreeID", parames, ref bt);
  22
  23                return bt.Rows[0]["ProductType"].ToString();
  24            }
  25            catch (Exception ex)
  26            {
  27                CommFunction.WriteErrorLogFile("public static string GetProductTypeByGUID(stirng GUID, String VGATreeID, String MbTreeID)出错:" + ex.Message);
  28                return "Other";
  29            }
  30        }
  31
  32

  
  以下为服务端:
      

   1public void Query(int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)#region public void Query(int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)
   2        // -----------------------------------------------------------------------------------------
   3        public void Query(int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)
   4        {
   5            if (!CheckRemotingClient())
   6            {
   7                return;
   8            }
   9            Console.WriteLine(DateTime.Now.ToString() + "调用了Query(" + lcid.ToString() + ", string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)");
  10            int i = cmdHashtable.Count;
  11            //以下构造存储过程参数
  12            SqlParameter[] cmdParms = new SqlParameter[i];
  13            int j = 0;
  14            foreach (DictionaryEntry de in cmdHashtable)
  15            {
  16                cmdParms[j] = new SqlParameter(de.Key.ToString(), de.Value);
  17                j++;
  18            }
  19            Colorful.DBUtility.DbHelperSQL.Query(lcid, SQLString, cmdParms, ref  baseModel);
  20        }
  21        // -----------------------------------------------------------------------------------------
  22        #endregion

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  http://www.cnblogs.com/blockhead/archive/2006/08/17/479720.html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1616385.html

延伸阅读
标签: 电脑入门
Vista下软件无法安装,怎么办呢? Vista系统中有不少用户经常遇到这样的问题,安装某个软件时,系统提示 无法访问Windows Installer服务,尤其是在安装.msi的安装 包时,经常会出现这样的情况。对此,你有什么比较好的解决方法吗?这又为 何出现这种状况呢? 原来是这么回事,主要是由微软 Windows Installer服务引起的。以.msi扩展名结尾的安装包在...
标签: 电脑入门
有的朋友在恢复系统之后,遇到了QQ.exe-无法找到组件的问题。一般来说,无法找到组件是运行程序(比如大型网络游戏,单机游戏,杀毒软件等等) 时,运行文件夹中的重要组件用来启动软件,但组件丢失或不可用,便无法打开。显示出****无法找到组件这样的对话框,这就是无法找到组件。希望以上的内容对您有所帮助,这里是比科尔下载站,感谢您的支...
标签: 问题肌肤
25岁正是干劲十足的年龄,同时也是肌肤问题层出不穷的年龄,黑眼圈、毛孔粗大、眼角细纹、黑头等等各种各样的肌肤问题都同时围攻我们,是束手无策的投降,还是披荆斩棘的来一场肌肤之战?相信很多人会毫不犹豫的选择后者。那么该如何解决这些肌肤问题呢? 想要解决这些肌肤问题,首先一定要了解这些问题形成的根本原因,知己知彼方能百战不...
随着现代社会发展的快节奏,人们的身上背负着很大的压力,不论是工作压力还是其他的压力,都给人们的心里上造成了严重的心理负担,因此失眠是很多见的了。那么怎样治疗失眠问题呢?下面就让图老师小编给大家介绍一下吧。 目录 1、老年人失眠怎么办 2、儿童失眠怎么办 3、怀孕失眠怎么办 4、高考前失眠怎么办 5、...
标签: 电脑入门
Win10 预览版10122刚发布就有不少的网友马上就对自己的Win10进行升级,但是却发现Win10预览版10122无法激活。真是急坏了。那么要怎么来解决这个问题呢?下面电脑高手跟大家分下下如何解决。 方法如下: 1、以管理员身份打开命令提示符; 2、输入以下命令:slmgr.vbs -ipk PBHCJ-Q2NYD-2PX34-T2TD6-233PK,之后重新启动计算机即可解决上...

经验教程

60

收藏

5
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部