O Remoting é utilizado no desenvolvimento do projeto, e todos os serviços de solicitação de dados são concluídos através do Remoting, então naturalmente existe um procedimento armazenado para passar os parâmetros. Após a construção dos parâmetros na lógica de negócio, eles são passados para o servidor Remoting e então. retirado. Ocorreu um erro ao definir os parâmetros do procedimento armazenado. Não me lembro do erro específico. Tentei vários métodos, mas também não funcionou. e o problema foi resolvido. O exemplo é o seguinte:
A parte seguinte é o chamador do cliente.
1 // Declare os parâmetros primeiro
2 string const privada PARAM_GUID = "@GUID";
3 string const privada PARAM_VGA_TREEGUID = "@VGATreeGUID";
4 string const privada PARAM_MB_TREEGUID = "@MBTreeGUID";
5
6 string estática pública GetProductTypeByGUID (string GUID, String VGATreeID, String MbTreeID)
7 {
8 tentativas
9 {
10 int lcID = Thread.CurrentThread.CurrentUICulture.LCID;
11
12 BaseModel bt = new BaseModel();
13
14 //Construa uma tabela hash e envie os parâmetros em sequência
15 Parâmetros Hashtable = new Hashtable();
16 parâmetros.Add(PARAM_PROGUID, GUID);
17 parâmetros.Add(PARAM_VGA_TREEGUID, VGATreeID);
18 parâmetros.Add(PARAM_MB_TREEGUID, MbTreeID);
19
20 //Passa o nome do procedimento armazenado e a tabela hash com parâmetros
21 DataAccess.DataBase.RunProcedureDataSet(lcID, "GetProductTypeByTreeID", parâmetros, ref bt);
vinte e dois
23 return bt.Rows[0]["ProductType"].ToString();
vinte e quatro }
25 captura (Exceção ex)
26 {
27 CommFunction.WriteErrorLogFile ("string estática pública GetProductTypeByGUID (guid de agitação, string VGATreeID, string MbTreeID) erro:" + ex.Message);
28 retornam “Outro”;
29}
30}
31
32
O seguinte é o lado do servidor:
1consulta pública void (int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel) #region consulta pública void (int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)
2 // ----------------------------------------------- --- ------------------------------------------
3 consulta pública void (int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)
4 {
5 se (!CheckRemotingClient())
6 {
7 retorno;
8}
9 Console.WriteLine(DateTime.Now.ToString() + "Query(" + lcid.ToString() + ", string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)");
10 int i = cmdHashtable.Count;
11 //O seguinte constrói os parâmetros do procedimento armazenado
12 SqlParameter[] cmdParms = new SqlParameter[i];
13 int j = 0;
14 foreach (DictionaryEntry em cmdHashtable)
15 {
16 cmdParms[j] = new SqlParameter(de.Key.ToString(), de.Value);
17j++;
18}
19 Colorful.DBUtility.DbHelperSQL.Query(lcid, SQLString, cmdParms, ref baseModel);
20}
vinte e um // ---------------------------------------------- -------------------------------------------
22 #endregion
http://www.cnblogs.com/blockhead/archive/2006/08/17/479720.html