zoukankan      html  css  js  c++  java
  • JS 调用存储过程传递参数

      1 引用
      2 #region 程序集 Newtonsoft.Json.dll, v4.5.0.0
      3 // E:Newtonsoft.Json.dll
      4 #endregion
      5 public DataTable RunProc(string ProcName, string Parameter)
      6 {
      7 try
      8 {
      9 db = new DataBaseDoor(GetConnection.getcon());
     10 DataSet ds = new DataSet();
     11 JsonTextReader JR = new JsonTextReader(new StringReader(Parameter));
     12 int i = 0;
     13 
     14 
     15 while (JR.Read())
     16 {
     17 if(JR.Value!=null&&JR.Value.ToString()!=",")
     18 {
     19 i++;
     20 }
     21 //JR.TokenType;
     22 // JR.Value;
     23 // JR.ValueType;
     24 }
     25 SqlParameter[] para = new SqlParameter[i/2];
     26 
     27 JsonTextReader JTR = new JsonTextReader(new StringReader(Parameter));
     28 
     29 int j = 0;
     30 string key = "";
     31 string value = "";
     32 while (JTR.Read())
     33 {
     34 
     35 if (JTR.Value != null && JTR.Value.ToString() != ",")
     36 {
     37 if (j <= i)
     38 {
     39 if (j % 2 == 0)
     40 {
     41 
     42 key = "";
     43 if (JTR.Value != null)
     44 {
     45 key = JTR.Value.ToString().Replace("!@!", """);
     46 }
     47 }
     48 else
     49 {
     50 value = "";
     51 if (JTR.Value != null)
     52 {
     53 value = JTR.Value.ToString().Replace("!@!", """);
     54 para[((j+1)/2)-1] = new SqlParameter("@" + key, value);
     55 }
     56 }
     57 
     58 }
     59 j++;
     60 }
     61 }
     62 db.RunProcedure(ProcName, para, ref ds);
     63 
     64 return ds.Tables[0];
     65 }
     66 catch (Exception ex)
     67 {
     68 throw ex;
     69 }
     70 finally
     71 {
     72 db.CloseConnection();
     73 }
     74 }
     75 //JS调用 以及字符串特殊字符替换规则
     76 
     77 var parameter = "{ ID:" + ID + ",Name:'" + $.trim($('#txt_groupname').val()).replace(/"/ig, '!@!') + "'}";
     78 
     79 var result = RunNewProc('sp_UserLevel_AddGroupName', parameter);
     80 
     81 
     82 function RunNewProc(procname, Parameter) {
     83 
     84 if (procname.length > 0) {
     85 var returnmsg = ErpAjax("/RunProcedure.aspx?Proc=" + procname + "&Parameter="+Parameter+"");
     86 if (returnmsg.length > 0) {
     87 return returnmsg;
     88 }
     89 else {
     90 return '操作失败';
     91 }
     92 }
     93 }
     94 
     95 function ErpAjax(url) {
     96 var xmlhttp;
     97 if (url.indexOf("?") > 0) {
     98 url = url + "&NowDateTimeSign=" + new Date().getTime();
     99 }
    100 else {
    101 url = url + "?NowDateTimeSign=" + new Date().getTime();
    102 }
    103 if (window.ActiveXObject) {
    104 xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
    105 }
    106 else {
    107 xmlhttp = new XMLHttpRequest();
    108 }
    109 
    110 var url1 = url.split('?');
    111 var url2 = url1[1].toString().split('&');
    112 
    113 var furl = url1[0].toString() + "?";
    114 
    115 for (var i = 0; i < url2.length; i++) {
    116 var j = url2[i].indexOf('=');
    117 
    118 if (i == 0) {
    119 furl += url2[i].toString().substring(0, j) + "=" + encodeURIComponent(url2[i].toString().substring(j + 1));
    120 }
    121 else {
    122 furl += "&" + url2[i].toString().substring(0, j) + "=" + encodeURIComponent(url2[i].toString().substring(j + 1));
    123 }
    124 }
    125 //encodeURIComponent
    126 xmlhttp.open("POST", furl, false);
    127 
    128 xmlhttp.send();
    129 return xmlhttp.responseText;
    130 
    131 }
  • 相关阅读:
    ios 分组列表头部空白处理
    滑动cell 显示的按钮 类型分别是 删除 置顶 其他
    获取View所在的控制器
    MySQL联表查询
    Yii的常用URL和渲染方法
    Ubuntu下为Firefox安装Adobe Flash Player
    ubuntu下的nginx+php+mysql配置
    ubuntu下配置nginx+php
    如何使用PHP操作cookie
    ubuntu broadcom无线驱动安装
  • 原文地址:https://www.cnblogs.com/zhang9418hn/p/5056644.html
Copyright © 2011-2022 走看看