引用
#region 程序集 Newtonsoft.Json.dll, v4.5.0.0
// E:\Newtonsoft.Json.dll
#endregion
public DataTable RunProc(string ProcName, string Parameter)
{
try
{
db = new DataBaseDoor(GetConnection.getcon());
DataSet ds = new DataSet();
JsonTextReader JR = new JsonTextReader(new StringReader(Parameter));
int i = ; while (JR.Read())
{
if(JR.Value!=null&&JR.Value.ToString()!=",")
{
i++;
}
//JR.TokenType;
// JR.Value;
// JR.ValueType;
}
SqlParameter[] para = new SqlParameter[i/]; JsonTextReader JTR = new JsonTextReader(new StringReader(Parameter)); int j = ;
string key = "";
string value = "";
while (JTR.Read())
{ if (JTR.Value != null && JTR.Value.ToString() != ",")
{
if (j <= i)
{
if (j % == )
{ key = "";
if (JTR.Value != null)
{
key = JTR.Value.ToString().Replace("!@!", "\"");
}
}
else
{
value = "";
if (JTR.Value != null)
{
value = JTR.Value.ToString().Replace("!@!", "\"");
para[((j+)/)-] = new SqlParameter("@" + key, value);
}
} }
j++;
}
}
db.RunProcedure(ProcName, para, ref ds); return ds.Tables[];
}
catch (Exception ex)
{
throw ex;
}
finally
{
db.CloseConnection();
}
}
//JS调用 以及字符串特殊字符替换规则 var parameter = "{ ID:" + ID + ",Name:'" + $.trim($('#txt_groupname').val()).replace(/"/ig, '!@!') + "'}"; var result = RunNewProc('sp_UserLevel_AddGroupName', parameter); function RunNewProc(procname, Parameter) { if (procname.length > ) {
var returnmsg = ErpAjax("/RunProcedure.aspx?Proc=" + procname + "&Parameter="+Parameter+"");
if (returnmsg.length > ) {
return returnmsg;
}
else {
return '操作失败';
}
}
} function ErpAjax(url) {
var xmlhttp;
if (url.indexOf("?") > ) {
url = url + "&NowDateTimeSign=" + new Date().getTime();
}
else {
url = url + "?NowDateTimeSign=" + new Date().getTime();
}
if (window.ActiveXObject) {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else {
xmlhttp = new XMLHttpRequest();
} var url1 = url.split('?');
var url2 = url1[].toString().split('&'); var furl = url1[].toString() + "?"; for (var i = ; i < url2.length; i++) {
var j = url2[i].indexOf('='); if (i == ) {
furl += url2[i].toString().substring(, j) + "=" + encodeURIComponent(url2[i].toString().substring(j + ));
}
else {
furl += "&" + url2[i].toString().substring(, j) + "=" + encodeURIComponent(url2[i].toString().substring(j + ));
}
}
//encodeURIComponent
xmlhttp.open("POST", furl, false); xmlhttp.send();
return xmlhttp.responseText; }

JS 调用存储过程传递参数的更多相关文章

  1. 【HANA系列】SAP HANA XS使用JavaScript(JS)调用存储过程(Procedures)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...

  2. 【HANA系列】【第六篇】SAP HANA XS使用JavaScript(JS)调用存储过程(Procedures)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第六篇]SAP HANA XS ...

  3. SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值

    我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked S ...

  4. js与php传递参数

    这个问题在网页开发时经常遇到,其实解决办法非常简单,就是几行代码的事,不过各种js.php书上都没有,百度下来也乱七八糟的,有的能用,有的不能用.小编遇到这问题时认认真真研究了一上午,研究出一点心得, ...

  5. js跳转传递参数

    额,利用j获取了GridView中选中行数据后,通过JavaScript做跳转,传递参数的时候发现,当参数有中文的时候就会乱码, 当然出现这种情况的时候就需要对跳转的url进行编码 var urlX ...

  6. vue.js中路由传递参数

    知识点:vue路由传递参数,第二个页面(A.B页面)拿到参数,使用参数 方法一:使用 <router-link :to="{name:'edithospital',params:{hi ...

  7. js获取url传递参数(转的,原作不详)

    这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET 函数: <Script languag ...

  8. hibernate 调用存储过程返回参数

    Connection conn= getSession().connection(); CallableStatement cs=null; //指定调用的存储过程 cs = conn.prepare ...

  9. Java调用函数传递参数到底是值传递还是引用传递

    今天翻看微信上有关Java技术的公众号时,看到了一篇关于Java中值传递的问题,文章讨论了在Java中调用函数进行传参的时候到底是值传递还是引用传递这个面试时会问到的问题.之前也接触过类似的问题,但只 ...

随机推荐

  1. python第一模块基础语法

    一·python和各大高级语言的优缺点比较 1.c语言开发效率低 2.c++开发效率高于c语言,低于java,python. 3.java代码臃肿,设计复杂,库繁杂量多. 4.PHP应用领域单一,且运 ...

  2. AngularJs数据绑定原理

    注 这篇博文主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人.如果你已经对Angular比较了解了,那强烈建议你直接去阅读源代码. Angular用户都想知道数据 ...

  3. LINUX一网卡多IP设置

    方法1:少量IP手动绑定(这里以绑定IP到eth0为例,其它网卡的话修改相应的文件名即可) 1.复制ifcfg-eth0的网卡配置文件并改名为ifcfg-eth0:0 [root@akinlau /] ...

  4. Android 6.0 运行时权限处理完全解析 (摘抄)

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/50709663: 本文出自:[张鸿洋的博客] 一.概述 随着Android 6. ...

  5. uvm_object ——太极

    无极生太极——无名天地之始 太极生两仪——有名万物之母   文件: $UVM_HOME/src/base/uvm_object.svh 类: uvm_object The uvm_object cla ...

  6. Educational Codeforces Round 11 C hard process_补题——作为司老大的脑残粉

    司老大当时教了一种姿势枚举连续K个0,说实话当时比赛写这题完全蒙了 纵然后来知道思路还是写了一段时间 真的是.. 题目大意 n长度的序列,由0 1构成 我们可以改变 k个0为1 求可以得到的最长连续1 ...

  7. ERROR 14856 --- [reate-882003853] com.alibaba.druid.pool.DruidDataSource : create connection error, url: jdbc:mysql://localhost:3306/xhb?useUnicode=true&characterEncoding=UTF-8, errorCode 1045, sta

    ERROR 14856 --- [reate-882003853] com.alibaba.druid.pool.DruidDataSource : create connection error, ...

  8. 几句话总结一个算法之RNN、LSTM和GRU

    RNN 一般神经网络隐层的计算是h=g(w * x),其中g是激活函数,相比于一般神经网络,RNN需要考虑之前序列的信息,因此它的隐藏h的计算除了当前输入还要考虑上一个状态的隐藏,h=g(w*x+w' ...

  9. OS复习

    提纲 一 操作系统的定义,各章节名词定义. 分时多道- OS四大特征,五大功能. 二 进程 创建终止挂起激活 PCB 原语:创建终止挂起激活唤醒 互斥和同步,临界资源,临界区 信号量的基础概念,受保护 ...

  10. Python自动化测试框架——数据驱动(从代码中读取)

    今天小编要介绍的是数据驱动最简单和最常用的一种方法,由于只是介绍方法,代码操作后的美观程度略有缺陷,介意者可以自行改动 还是以163邮箱登录为例: 设计一个存放数据的类,这个类的参数是我们需要修改的数 ...