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

┢┦αㄗρy

┢┦αㄗρy

2016-02-19 17:55

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

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

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

  以下部分为客户调用端

         

   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

  
  以下为服务端:
      

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

   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

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

展开更多 50%)
分享

猜你喜欢

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

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

如何解决“无法新增字体”问题

电脑入门
如何解决“无法新增字体”问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何解决MindManager参数错误或参数不正确问题

电脑网络
如何解决MindManager参数错误或参数不正确问题

解决移动存储设备无法拨出的问题

电脑入门
解决移动存储设备无法拨出的问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何解决QQ农场无法访问的问题?

电脑入门
如何解决QQ农场无法访问的问题?

如何解决U盘里的东西无法读取问题

电脑网络
如何解决U盘里的东西无法读取问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win7如何批量安装字体?

Win7如何批量安装字体?

一键去除excel重复数据

一键去除excel重复数据
下拉加载更多内容 ↓