精华内容
下载资源
问答
  • Sql 存储过程传递参数

    千次阅读 2017-09-25 13:39:39
    Sql Server 存储过程 传递参数 有时候需要 “1,2,3” 这样的参数 --------------------------- declare @AreadBranchID nvarchar(200) set @AreadBranchID=';2;36;3;21;23;' select * from UserInfo ...

    Sql Server  存储过程 传递参数 有时候需要 “1,2,3” 这样的参数

    ---------------------------

    declare @AreadBranchID nvarchar(200)

    set @AreadBranchID=';2;36;3;21;23;'

    select * from UserInfo where charindex((';'+convert(nvarchar,ID)+';'),@AreadBranchID)>0  


    ---------------------------

    展开全文
  • 存储过程需要根据部门名称相关数据修改。用varray的话估计要申请很大的空间。可不可以直接传递一个String,然后在存储过程里拆分称department\_name in('A','B','C')这样的参数
  • SimpleJdbcCall调用存储过程传递参数报错情况说明

    一、报错信息

    java.lang.NumberFormatException
        at java.math.BigDecimal.<init>(Unknown Source)
        at java.math.BigDecimal.<init>(Unknown Source)
        at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9001)
        at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
        at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9323)
        at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4905)
        at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:279)
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217)
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:128)
        at org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.createCallableStatement(CallableStatementCreatorFactory.java:213)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:930)
        at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:985)
        at org.springframework.jdbc.core.simple.AbstractJdbcCall.executeCallInternal(AbstractJdbcCall.java:368)
        at org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:342)
        at org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:164)
    二、原因
        这个问题是由于存储过程输入参数中有个是数值型,在传递参数的时候没有初始化成数值型,在执行存储过程中导致报错。

    三、解决方案

        Spring框架会自动处理不同类型字段的注入工作,在传递这样的参数时,一定要符合存储过程参数类型数据再进行传递。

        比如有个存储过程中有个参数在数据库表中是数值型,传递过程中以字符串""这样的形式是会报上面的那个错误,要以"0"的形式进行传递。

        由此可以引申出像浮点数、日期类型等类型的数据也是如此~~~

    展开全文
  • 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 ... 9...
      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 }

     

    转载于:https://www.cnblogs.com/zhang9418hn/p/5056644.html

    展开全文
  • (1)传递参数获取查询结果: ALTER PROCEDURE [dbo].[Proc_sel] @typeid int AS BEGIN SET NOCOUNT ON; SELECT * from kh_type where kh_typeid=@typeid END --执行存储过程 --exec Proc_sel @typeid=...

    (1)传递参数获取查询结果:

    ALTER PROCEDURE [dbo].[Proc_sel]

    @typeid int
    AS
    BEGIN
    SET NOCOUNT ON;
    SELECT * from kh_type where kh_typeid=@typeid
    END


    --执行存储过程

    --exec Proc_sel @typeid='1'


    (2)获取存储过程返回值:

    ALTER PROCEDURE [dbo].[Proc_return] 
    @num int output  
    AS
    BEGIN
    SET NOCOUNT ON;
    set @num=222;

    END

    ----调用存储过程
    --declare @m int ---用来接收返回值的变量
    --exec Proc_su @num=@m output --返回值一定要注名是output
    --select @m as num; ---查询返回值

    展开全文
  • schedule job 调用存储过程 传递参数

    千次阅读 2018-05-16 10:41:51
    number_of_arguments为传递参数的数量。 SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE ( job_name => ‘POSP.JOB_R_TERM_DAY’ ,argument_position => 1 ,argument_value => ‘20180508’); argument_...
  • 里面有一个字段代表生产区域qy,有一个存储过程过程需要一个区域的参数。我用jsp开发的。在servlet中我先用 select qy from abc group by qy 语句把区域都读出来了。然后用 while(rs.next()){ 存储过程(rs....
  • 调用有参数存储过程后,就报上面的错误。存储过程都已测试,没有问题。 UI层调用代码: protected void Button1_Click(object sender, EventArgs e) { //flowManage.ChangeType(); flowManage....
  • 一同事写存储过程,在存储过程传递参数,传递的参数与表中某字段属性相同: 如下  create procudure (in name varchar) ( begin  declare .........  select count(*) from tablename where name =...
  • 服务端: procedure TServerMethods1.GuestQry(Act, Rno, GName, Gtype, sArr, eArr, sLea, eLea, SaleId, Birthday, Sta, Bal, Ydr, Rtype, T: String); begin with GuestQuery do ... Parameters.ParamByName('...
  • ibatis使用存储过程传递参数

    千次阅读 2005-12-30 17:13:00
    下面的例子说明如何使用具有输出参数存储过程。 {call swap_email_address (?, ?)} 调用上面的存储过程将同时互换两个字段(数据库表)和参数对象(Map)中的两个emailhttp://www.ibatis.com Clinton Begin 著 ...
  • asp.net中如何向存储过程传递参数

    千次阅读 2011-12-09 15:07:04
    以前搞asp,近来开始学asp.net,学习的过程比较艰苦,尤其是刚入门时,摸不到头脑,都是自己在网上查资料,包括语法,ado.net,以及存储过程。 这里整理一个非常简单的小示例,作为初学者进门的入口,麻雀虽小,...
  • 说明:使用ODBC方式其实和SqlClient方式差不多,主要区别在于传递参数的时候,使用?代替SqlClient中的@XXX。实例1:简单Sql语句-查询,如下图所示:实例2:简单Sql语句-添加,如下图所示:实例3:简单Sql语句-修改,...
  • ps:后来通过给这个TableAdapter添加UPDATE类型的Query,在这个query中直接写这样的SQL语句“CALL CreateFactory(1)”实现了从函数调用传入参数存储过程,但这个函数种只能对应一个调用,复用性太差。...
  • 存储过程中设置一个二维数组的参数 在.net 中如何向该存储过程传递二维数组参数并执行 请高手不吝赐教啊 !!!!
  • 书写MySQL存储过程,有时需要判断传递的某参数是数字还是字母和数字或字母组成的字符串,由于MySQL没有现成的函数,在MSSQL中可以用ISNUMERIC来判断,因此在MYSQL中需要自己写函数来判断了。 2、解决办法 ...
  • 存储过程创建如下: if (object_id('proc_find_stu', 'P') is not null) drop proc proc_find_stu go create PROCEDURE proc_find_...时候有结果返回,求各位帮忙看看有什么问题,为什么存储过程传递参数失败?
  • create procedure myproc @tablename varchar(20), @idnum intasdeclare @sqlstr varchar(200)set @sqlstr='select * from '+@tablename+' where id='+@idnumexecute (@sqlstr)Go 在执行上述存储过程的时候...
  • 方法1,直接在报表对象上设置参数的值 myReport1.SetParameterValue("@time1", "2008-11-01");方法2,在reportViewer中添加参数。效果是一样的,只不过代码量不同。 ParameterField param1 = new ...
  • 存储过程如下: CREATE PROCEDURE SpecItemStructure_list @zjy varchar(255)=null as declare @SQLSTRING NVARCHAR(1000) SET @SQLSTRING='SELECT * FROM structure_specitem where '+@zjy+' order by 项目...
  • MySQL存储过程传递中文参数

    千次阅读 2017-03-06 17:20:09
    对MySQL编程的过程中,需要向存储过程传递中文参数。 开始写法为 一直出现[Err] 1366 - Incorrect string value: '\xE6\x95\xB0\xE6\x8D\xAE...' for column 'mstr' at row 1错误,编码已经设置为utf8,做了很多...
  • -SELECT * FROM #temp_delete DROP TABLE #temp_insert DROP TABLE #temp_delete END 这是我写的一个MSSQL的存储过程 参数@XML_ARRAY的数据格式是: '' 用openXML解析 想问下如果用mysql解决应该怎么做,如何传递一个...
  • -SELECT * FROM #temp_delete DROP TABLE #temp_insert DROP TABLE #temp_delete END 这是我写的一个MSSQL的存储过程 参数@XML_ARRAY的数据格式是: '' 用openXML解析 想问下如果用mysql解决应该怎么做,如何传递一个...
  • count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":9,"count":9}]},"card":[{"des":"云数据库 HBase 版(ApsaraDB for HBase)是基于 HDFS 的一个分布式数据库,支持海量的PB级的大数据存储,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,677
精华内容 1,070
关键字:

存储过程传递参数