调用存储过程怎么老是说没有参数

问题描述

错误提示:过程'rwADD'需要参数'@check_content',但未提供该参数。但是我看了多边里面没有错误,有那位兄弟给找下问题.ALTERPROCEDUREdbo.rwADD@check_contenttext,@rw_checkfloat,@rw_aint,@rw_bint,@rw_cint,@rw_dint,@check_yearvarchar(50),@check_namenvarchar(100),@check_jdvarchar(50),@rw_namenvarchar(100),@rw_postnvarchar(100),@rw_branchnvarchar(100),@khrnvarchar(100)ASINSERTINTOrw_w([check_content],[rw_check],[rw_a],[rw_b],[rw_c],[rw_d],[check_year],[check_name],[check_jd],[rw_name],[rw_post],[rw_branch],[khr])VALUES(@check_content,@rw_check,@rw_a,@rw_b,@rw_c,@rw_d,@check_year,@check_name,@check_jd,@rw_name,@rw_post,@rw_branch,@khr)RETURN

解决方案

解决方案二:
@check_content是传入参数,在数据层操作代码中调用存储过程时要声明它:SqlParametercontent=newSqlParameter("@check_content",sql.Dbtype.text,16);
解决方案三:
已经传入参数,SqlParameter[]prams={newSqlParameter("@check_content",SqlDbType.Text),newSqlParameter("@rw_check",SqlDbType.Float,8),newSqlParameter("@rw_a",SqlDbType.Int,4),newSqlParameter("@rw_b",SqlDbType.Int,4),newSqlParameter("@rw_c",SqlDbType.Int,4),newSqlParameter("@rw_d",SqlDbType.Int,4),newSqlParameter("@check_year",SqlDbType.VarChar,50),newSqlParameter("@check_name",SqlDbType.NVarChar),newSqlParameter("@check_jd",SqlDbType.VarChar,50),newSqlParameter("@rw_name",SqlDbType.NVarChar),newSqlParameter("@rw_post",SqlDbType.NVarChar),newSqlParameter("@rw_branch",SqlDbType.NVarChar),newSqlParameter("@khr",SqlDbType.NVarChar)};prams[0].Value=RW.check_content;prams[1].Value=RW.rw_check;prams[2].Value=RW.rw_a;prams[3].Value=RW.rw_b;prams[4].Value=RW.rw_c;prams[5].Value=RW.rw_d;prams[6].Value=RW.check_year;prams[7].Value=RW.check_name;prams[8].Value=RW.jidu;prams[9].Value=RW.rw_name;prams[10].Value=RW.rw_post;prams[11].Value=RW.rw_branch;prams[12].Value=RW.khr;
解决方案四:
那就是在代码出错...没有给他值....
解决方案五:
response.write(SqlDbType.Text)一下看看到底有没有值
解决方案六:
调用dbo.rwADD的那句代码呢?
解决方案七:
给@check_content赋个默认值,比如@check_contenttext=null,如果这样可以,那么就是你给参数赋值有问题,仔细检查一下代码。
解决方案八:
你该不会是newStoredProcedure的时候,没有把prams传进去吧
解决方案九:
应该就是1楼的答案吧
解决方案十:
手动给各个参数赋值,看能否调用?能的话就说名赋值出现问题,不能的话就在查询分析器里调用一下是否能行?将@check_content的text类型换成varchar,试一下?
解决方案十一:
RW.check_content是否null
解决方案十二:
觉得1楼的有点意思我没有用过text不好意思了

时间: 2024-09-28 05:09:57

调用存储过程怎么老是说没有参数的相关文章

C#中调用存储过程主要是参数使用问题

存储过程|问题 C#中调用存储过程主要是参数使用问题(输入参数,输出参数,返回值)         //现假设conn是已经定义好的连接,proc为存储过程名         //1.调用无参数无返回的存储过程        //SqlCommand cmd=new SqlCommand(proc,conn);        //cmd.CommandType=CommandType.StoredProcedure;//告知执行存储过程        //conn.Open();       

java调用存储过程的传递Date参数的问题

建了一个存储过程 create procedure PR_YDFT_GETFT_TIME @AJLB tinyint, -- 案件类别 @AJBHLIST varchar(1500), -- 案件编号列表 @KSSJ datetime, -- 开始时间 @JSSJ datetime -- 结束时间 as begin ---- select BH, AH from K_ZS..B_ZX where(这里返回一个结果集) end 在java代码中如下调用(时间类型为java.sql.Date),即使

ado.net-求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写

问题描述 求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写 访问数据不知道写 存储过程已经写好 解决方案 prepareCall()方法调用存储过程 解决方案二: use 数据库名称 这不是方法 解决方案三: use 数据库名称 用这个语句就能指向数据库 解决方案四: exec 存储过程名称

关于ASP.NET 调用存储过程传参数的问题

问题描述 关于ASP.NET 调用存储过程传参数的问题 /// /// 执行存储过程 /// /// 存储过程名 /// 存储过程参数 /// SqlDataReader public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters) { SqlConnection connection = OpenSqlConnection(); SqlCommand command =

oracle-Java调用存储过程一直出现:调用 'TEST' 时参数个数或类型错误

问题描述 Java调用存储过程一直出现:调用 'TEST' 时参数个数或类型错误 解决方案 看下你给进去的参数的数据类型 和 你定义过程的数据类型是否都一直 解决方案二: 你这明显是传入的参数个数和存储过程的参数不一样啊.你直接调试下存储过程,看让你输入几个参数

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

   我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked Server), 调用存储过程过程时,参数不能为NULL值. 否则就会报下面错误提示: 对应的英文错误提示为: EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL' Msg 7213, Level 16, State 1, Line 1 The attempt by

使用EF调用存储过程查询数据列表并返回输出参数

问题描述 代码如下JRQEntitiesjrq=newJRQEntities();varobj=jrq.Database.SqlQuery<SMSTemplate>("select*fromSMSTemplateSetwhereId=@Id",newSqlParameter{ParameterName="Id",Value=1});if(obj.Count()>0){vara=obj.ToList();}这样传参数会报:如果使用string.For

存储过程 带参数-在调用存储过程时传入值不会被解析

问题描述 在调用存储过程时传入值不会被解析 if(!$is_exist2){ $sql_page=" create procedure page_art(in off int(10),in page_size int(10)) BEGIN select id,title,addtime,type from cj_art where type=9 order by addtime desc limit off,page_size; END "; //建立存储过程 mysql_query(

C#调用存储过程详解(带返回值、参数输入输出等)_C#教程

本文实例讲述了C#调用存储过程的方法.分享给大家供大家参考,具体如下: CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0 RETURN -1 else RETURN 0 E