在項(xiàng)目的開發(fā)中使用Remoting,并且所有的數(shù)據(jù)請(qǐng)求服務(wù)都是通過(guò)Remoting完成的,所以自然就在其中到了傳遞參數(shù)的存儲(chǔ)過(guò)程,在業(yè)務(wù)邏輯中把參數(shù)構(gòu)建好后傳遞到Remoting服務(wù)端,在取出存儲(chǔ)過(guò)程的參數(shù)時(shí)報(bào)錯(cuò),具體錯(cuò)誤不記得了,自己嘗試了各種方法也不行,上網(wǎng)資訊也沒(méi)有結(jié)果,最后變通了一下,問(wèn)題解決了,例子如下:
以下部分為客戶調(diào)用端
1//先聲明參數(shù)
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 //構(gòu)建一個(gè)哈希表,把參數(shù)依次壓入
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 //把存儲(chǔ)過(guò)程名稱和帶參數(shù)的哈希表傳入
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)出錯(cuò):" + ex.Message);
28 return "Other";
29 }
30 }
31
32
以下為服務(wù)端:
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() + "調(diào)用了Query(" + lcid.ToString() + ", string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)");
10 int i = cmdHashtable.Count;
11 //以下構(gòu)造存儲(chǔ)過(guò)程參數(shù)
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://m.survivalescaperooms.com/blockhead/archive/2006/08/17/479720.html
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注