引用
#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. 修改Magento默认Export Customers功能

    Magento 1.x的Export功能可以很方便地对Customers的数据进行导出,但是存在几个不足(或者说不方便)的地方: 1. 默认导出的 .CSV文件是以UTF-8格式编码的,而MS Exc ...

  2. codeforces736D. Permutations(线性代数)

    题意 $m \leqslant 500000$,题目打错了 Sol 神仙题Orz 构造矩阵$B$,使得$B[b[i]][a[i]] = 1$ 那么他的行列式的奇偶性也就对应了生成排列数列数量的奇偶性( ...

  3. 解决常见SVN冲突问题(转)

    转自:http://www.w3cfuns.com/blog-5443287-5403523.html 一个大项目在开发中可能会拆分成几个小项目,分别分去,同时共通的部分再由人做,做完后再统一合并.同 ...

  4. angulajs中引用chart.js做报表,修改线条样式

    目前还有个问题,在手机上看,当折线y轴值超过1000,会有点问题 1.下载chart js,可以用bower 命令下载 http://www.chartjs.org/docs/#line-chart- ...

  5. 洛谷 P1531 I Hate It

    题目背景 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的 ...

  6. 数据库-SQL语法:LEFT JOIN

    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行.(补充:left join是一对多的关系,表里所有符合条件的记 ...

  7. ArcMap所有Command GUID

    The information in this topic is useful if you're trying to programmatically find a built-in command ...

  8. struts2基于注解的action

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

  9. bootstrap历练实例:按钮作为输入框组前缀或后缀

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  10. 解析IPV4报文 和IPV6 报文的 checksum

    解析IPV4报文和IPV6报文的checksum的算法: 校验和(checksum)算法,简单的说就是16位累加的反码运算: 计算函数如下: 我们在计算时是主机字节序,计算的结果封装成IP包时是网络字 ...