求一下C++ ADO异步执行存储过程获取返回值的操作方式 [问题点数:200分,结帖人bluebohe]

Bbs9
本版专家分:61174
Blank
红花 2004年3月 VC/MFC大版内专家分月排行榜第一
2004年1月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2003年12月 VC/MFC大版内专家分月排行榜第二
2003年9月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2004年2月 VC/MFC大版内专家分月排行榜第三
结帖率 100%
Bbs11
本版专家分:267690
版主
Blank
GitHub 绑定GitHub第三方账户获取
Blank
进士 2006年 总版技术专家分年内排行榜第四
Blank
金牌 2006年4月 总版技术专家分月排行榜第一
Blank
铜牌 2006年3月 总版技术专家分月排行榜第三
Bbs9
本版专家分:87215
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
ODBC 执行存储过程获取返回值
sql2005<em>存储过程</em>,通过不同的<em>返回值</em>(整型)表示不同的结果。 但是在使用OdbcCommand调用该<em>存储过程</em>时,<em>获取</em>到的<em>返回值</em>始终不对。代码如下: OdbcCommand cmd = new OdbcCommand("{call CP_CreateUser(?,?,?)}", _OdbcConnection); cmd.CommandType = CommandType.Stored
ASP.NET执行存储过程,并获取存储过程返回值
//连接数据库        string myStr = CODE.DbHelperSQL.connectionString;        SqlConnection myConn = new SqlConnection(myStr);        myConn.Open();        //创建SqlCommand对象        SqlCommand cmd = new Sql
Python如何执行存储过程获取存储过程返回值
在Pathon中如何<em>执行</em><em>存储过程</em>呢?可以使用如下方法: <em>存储过程</em>定义基本如下: ALTER procedure [dbo]. [mysp] @Station varchar ( 50), @SN varchar ( 50), @Info varchar ( 500) o...
ASP.NET执行存储过程,并获取存储过程返回值
一个简单例子如下: 1、创建<em>存储过程</em>(用于用户身份验证): Create Procedure CheckUser ( @userid char(20), @userpsw char(20) ) as if exists(select * from tb_UserInfo where rtrim(...
ADO 执行存储过程,取字符串类型的返回值
_CommandPtr pCommand = NULL; // Command Object _ParameterPtr inParam=NULL; _ParameterPtr outParam=NULL; try { // 创建 ADODB
用ADO怎样获取存储过程返回值
一个<em>存储过程</em>,有两个出参,但<em>存储过程</em>本身返回0表示成功,非0表示失败。rn我使用Command处理,代码如下:rn我该怎样才能取得<em>存储过程</em>的本身返回的值(0或非0)?rn目前我的代码如下:rnrnCADOCommand <em>ado</em>Cmd(&m_db,sProcName);rnCADOParameter <em>ado</em>ParaUserID(adBigInt,8,adParamOutput,"");rnCADOParameter <em>ado</em>ParaImport(adSmallInt,2,adParamOutput,"");rnrn_variant_t vtValue;rnif (<em>ado</em>Cmd.AddParameter(&<em>ado</em>ParaUserID)rn && <em>ado</em>Cmd.AddParameter(&<em>ado</em>ParaImport)rn && <em>ado</em>Cmd.Execute() rn && <em>ado</em>ParaUserID.GetValue(vtValue))rnrn //rn
c++通过ado获取存储过程的return返回值
今天写了个sql server 2005的<em>存储过程</em>,主要代码很简单,就是想测试<em>存储过程</em>中既有输入参数,又有<em>返回值</em>时,如何用C++去调用并<em>获取</em><em>返回值</em>。一开始总不能运行,后来又莫名其妙地可以运行了,故写在这里做个记录。 <em>存储过程</em>源码: ALTER PROCEDURE [dbo].[PublishSchema] @mSchemaID int AS declare @mReturnValue int
ado异步执行问题
这个问题一直困扰着小弟,在网上查找了很久还是没能很好的解决,还是跑到CSDN来求助各位大哥了。rn问题是这样的,我在VB里面做了个查询<em>执行</em>一个<em>存储过程</em>,因为数据比较多,所以<em>执行</em>的时候稍微有点慢。rn原来的写法是这样的:rn[code=vb]rn Private Sub Command1_Click()rn 'Rds为记录集、Cn为数据库连接、strSQL为要<em>执行</em>的<em>存储过程</em>名rn Set Rds = Cn.Execute(strSQL)rn '将数据显示到表格里面去rn End Subrn[/code]rn但因为比较慢所以有段时间就像卡死了一样。现在想改善<em>一下</em>,例如想达到这样的效果,当点击Command1按钮的时候显示一个进度条,例如[img=https://img-bbs.csdn.net/upload/201305/27/1369666159_629146.jpg][/img],<em>执行</em>SQL完毕的时候,进度条消失,<em>执行</em>将数据显示到表格的代码。rnrn望大家赐教,先谢谢。越详细越好,再次感谢。希望这次能圆满解决这个问题。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/81.gif][/img]
CxGrid与ADO异步执行
发现一个问题,当cxGrid连接ADO时,同步<em>执行</em>时都正常,然后用query.ExecuteOptions := [eoAsyncFetchNonBlocking];rn时,cxGrid便有问题,数据显示不完整,一万多条数据,仅显示几十条,有时64条,有时79条,还比较有规律,这一次是64条,rn下一次就是79条,只有<em>执行</em>query.Last后才会显示出所有记录来,不知道是什么原因!有没有人碰到过
ADO异步执行问题
我将TADOSTOREDPROC的EXECUTEOPTIONS的eoAsyncFetchNonBlocking设置成TRUE;并在onFetchProgressg事件中写入代码,运行后好想没用,还是同步方面<em>执行</em>的.请问是不是还有那设置不对.
关于ADO的异步执行??
我将ADO设为<em>异步</em><em>执行</em>,为什么<em>执行</em>时间特别短的<em>执行</em>完后不触发OnFetchComplete事件。
Mybatis使用注解的方式执行存储过程获取返回值
开始 通过搜索引擎搜索了<em>获取</em><em>返回值</em>的Mybatis注解配置<em>方式</em>,但是都搜索不到,都是xml配置<em>方式</em>,尝试自己写出来了。 过程 首先要有一个<em>存储过程</em>,in,out值。 配置mapper: 部分代码: //mybatis 注解 调用<em>存储过程</em> @Select({ "call execute_seckill(", "#{map.seckillId,mode=IN,jdbcType...
执行存储过程,并获取返回值的语句
mysql 有如下<em>存储过程</em>rnrnCREATE PROCEDURE `add_user`(in uid integer,in uname varchar(20),out result int)rnbeginrn declare collision int; rn SELECT collision = count(*) from user where userid = uid; rn if collision <> 0 then rn set result = -1; rn elsern insert into user values(uid,uname);rn set result = 1;rn end if; rnend;rnrnrn该如何调用该<em>存储过程</em>,并<em>获取</em>该返回参数rnrndeclare result intrncall add_user 1,'22',resultrnselect resultrn出错rnrn
这样的ADO方式执行存储过程正确吗?
//功能:<em>执行</em>一个无参数的指定名称的<em>存储过程</em>rnBOOL CDBManage::ExeStoreProc(LPCTSTR StoreProcName)rnrn tryrn rn _CommandPtr pComm("ADODB.Command");rnrn pComm->ActiveConnection=m_pConn;//数据库连接对象rn pComm->CommandText=StoreProcName;rn pComm->CommandType=adCmdStoredProc;rn pComm->Parameters->Refresh();//这一句可有可无rnrn //<em>执行</em><em>存储过程</em>rn pComm->Execute(NULL,NULL,adCmdStoredProc);rnrn rn catch (_com_error &e)rn rn //显示错误提示rn return FALSE;rn rnrn //显示错误提示rn rn return TRUE;rnrnrn另外这一句pComm->Parameters->Refresh();有什么作用没有?rn
EF中执行存储过程获取output返回值
EF不能直接支持<em>执行</em><em>存储过程</em>,于是使用转化成<em>执行</em>SQL语句的形式,却怎么也<em>获取</em>不到output的值,折腾的好久,终于解决了,分享下曲折的经历: public int AddVote(int titleId, int blockId, int typeId) { List paramArray = new List(); paramA
执行存储过程获取OUTput参数返回值
当 declare RowsCount int output exec(@SQl)不能返回时,可以使用exec sp_executesql @SQL,N'@RowsCount int output',@RowsCount output 其中@RowsCount为Output参数名
执行存储过程,获取out返回值问题
protected void Page_Load(object sender, EventArgs e)rn rn SqlConnection con = new SqlConnection("server=127.0.0.1;database=pubs;uid=sa;password=''");rn SqlCommand cmd = new SqlCommand("GetLastname", con);rn string strLastname;rn cmd.CommandType = CommandType.StoredProcedure;rn //firstname input parameterrn cmd.Parameters.AddWithValue("@firstname", "Ann");rn //lastname output parameterrn SqlParameter paraLastname = cmd.Parameters.AddWithValue("@lastname", SqlDbType.VarChar);rn paraLastname.Size = 40;rn paraLastname.Direction = ParameterDirection.Output;rn //Execute Commandrn con.Open();rn cmd.ExecuteScalar();rn //Retrieve value of output parameterrn if (cmd.Parameters["lastname"].Value != null)rn rn strLastname = cmd.Parameters["lastname"].Value.ToString();rn rn elsern rn strLastname = "Unknown";rn rn con.Close();rn Response.Write("The last name is" + strLastname);rn rnrn//------------------------------<em>存储过程</em>rn Create Procedure GetLastnamern(rn@firstname Varchar(20),rn@lastname Varchar(20) Outputrn)rnAsrnSelect @lastname=au_lnamernFrom AuthorsrnWhere au_fname=@firstnamernrnrn//---------------------------------------rn<em>执行</em>后提示将数据类型 varchar 转换为 int 时出错.谁能告诉我是什么原因,<em>存储过程</em>在查询分析器里调试可以正常显示,我用的是vs2005
oracle 执行存储过程返回值
先建好表,然后写带输出参数的<em>存储过程</em> CREATE OR REPLACE PROCEDURE ST_VALIDATEUSER(                 NAME IN VARCHAR2, PWD IN VARCHAR2 ,                 ISVAL
返回值"代码">C#获取执行存储过程的" 返回值"代码
以下是C#代码: /// &lt;summary&gt; /// <em>执行</em><em>存储过程</em>,返回" <em>返回值</em>" /// &lt;/summary&gt; /// &lt;param name="storedProcName"&gt;<em>存储过程</em>名&lt;/param&gt; /// &lt;param name="parameters"&gt;<em>存储过程</em>参数&lt;/param&gt; /// &lt...
C#执行存储过程以及传参获取返回值
public static int ExecuteNonQueryProc(string proc, OleDbParameter[] sqlPara) { int ret = 0; try { oleConn.Open(); OleDbComma
执行存储过程返回值的问题
今天做<em>存储过程</em>的<em>返回值</em>的时候,发现书上写的这句话不知道什么含义rnreturn (int)cmd.Parameters[returnValueString].Value;rn其中cmd是Sqlcommand的对象,希望能解释细一点
执行返回值存储过程
USE [db_NLMRPII]GODECLARE @return_value int, @message varchar(1000), @code varchar(1000)EXEC @return_value = [dbo].[p_Role] @strActionType = NInsert, @intRoleId = N0, @intOrga
执行返回值存储过程
方法一: DECLARE retkey1 VARCHAR2(128); retkey2 VARCHAR2(128); retkey3 VARCHAR2(128); begin prc_get_wwsg_keywords('北京三毛贸易科技公司',retkey1,retkey2,retkey3); DBMS_OUTPUT.put_line(retkey1); Dbms_Output...
C#异步执行带有返回值和参数的方法,且获取返回值
很多时候需要用到这些小知识点,做做笔记一起成长 下面是需要<em>异步</em><em>执行</em>的方法 //<em>获取</em>所有的邮件 private List&lt;EmailModel&gt; GetEmailOnlyCount(POP3_ClientMessageCollection pOP3Collection) { int i = 0; ...
存储过程异步执行问题
ADOStoredProc1的ExecuteOptions属性设置成[eoAsyncFetchNonBlocking],rnrn<em>执行</em>:ADOStoredProc1.openrnrn<em>执行</em>是成功了,但onFetchProgress事件和onFetchComplete事件都没有响应,这是为何?
异步执行存储过程
用Adodb.Command对象<em>执行</em><em>存储过程</em>,在options选项中用adExecuteAsync常量 。rn但是我<em>异步</em><em>执行</em>的<em>存储过程</em>并没有<em>执行</em>完毕,rnCommand.state就变为了0(adStateClosed ),rn这是为啥呀?难道微软的msdn骗咱们。rnrnrnrnrn
怎样异步执行存储过程
在java中怎样<em>异步</em><em>执行</em><em>存储过程</em>,还有怎样设置调用<em>存储过程</em>的超时设置。rnrn
ADO 执行存储过程获取自定义错误
if @Error <> 0 rnbeginrn RAISERROR ('DealConsumeRecord Fault', 16, 1)rn ROLLBACK rnend rnrn我想在ADO<em>执行</em>异常中捕获这个错误,不过好象没有出现<em>执行</em>异常。请高手指点一二~
ADO执行带参数存储过程
/   SQL   Server,   stored   procedure   ,   Command   ,  Recordset,   input   parameter,   output   parameter,   returned  recordset   from   stored   procedure     //execute   stored   procedur
获取存储过程返回值及代码中获取返回值
1.OUPUT参数<em>返回值</em>例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert] (@o_buyerid
使用ADO执行存储过程
文章不是我写的,是我搜集的。      在ADO中调用<em>存储过程</em>一直是一个困扰大家的问题。     其实,关于ADO调用<em>存储过程</em>的           方法在很多书中都有讲到,标准的做法无非是按照以下步骤进行:             1、生成并初始化一个_CommandPtr对象;             2、生成调用<em>存储过程</em>需要的参数,这些参数都是_ParameterPtr对象;
ADO执行存储过程的问题
     在DB2中创建了一个<em>存储过程</em>,需要处理大量数据,在DB2CMD下<em>执行</em><em>存储过程</em>,一切OK,但是通过VC+ADO的<em>方式</em>,却发现<em>执行</em>失败,查找具体的原因发现 DB2中错误信息为:  SQL0952N  由于中断,处理被取消。  SQLSTATE=57014;      本以为是DB2中的超时时间配置有问题,因此将DB2 下的db2cli.ini文件下加入了 QUERYTIMEO
(ADO)--执行存储过程的错误
后台是SQL Server数据库,<em>存储过程</em>为GetMainTablern在<em>执行</em><em>存储过程</em>时出现错误,rn<em>存储过程</em>的参数和数据库中的顺序等完全一致,他去提示没提供参数。rn代码如下:rn)rn response.write telphonern--------------------------------------------------------------------------rn创建<em>存储过程</em>的SQL代码如下rnrnCREATE PROCEDURE dbo.GetMainTable rn @AssociatorID int,rn @RegionCode tinyint output ,rn @TradeSortCode tinyint output,rn @HQCode smallint output,rn @AssociatorLocalNO smallint output ,rn @EnterpriseCode char (10) output ,rn @AssociatorName char (40) output ,rn @Principal char (12) output ,rn @Address char (50) output ,rn @Postalcode char (6) output ,rn @Telphone char (40) output ,rn @NetworkSortCode tinyint output ,rn @ApplyTime datetime output ,rn @ServiceSortCode tinyint output ,rn @ServiceCharacterCode tinyint output ,rn @CertifierCode tinyint output rn rnASrn declare @ret int; rn exec @ret=VerifyPopedom @AssociatorID;//这里参数正确rn if @ret=0 return 0;rn select rn @RegionCode=RegionCode ,rn @TradeSortCode =TradeSortCode,rn @HQCode =HQCode,rn @AssociatorLocalNO=AssociatorLocalNO,rn @EnterpriseCode=EnterpriseCode,rn @AssociatorName= AssociatorName,rn @Principal=Principal,rn @Address=Address,rn @Postalcode=Postalcode,rn @Telphone =Telphone,rn @NetworkSortCode =NetworkSortCode,rn @ApplyTime =ApplyTime,rn @ServiceSortCode =ServiceSortCode,rn @ServiceCharacterCode =ServiceCharacterCode,rn @CertifierCode =CertifierCodern from MainInformation rn where AssociatorID=@AssociatorID;rn return 1;rnGOrn
ado执行存储过程的问题
用rn<em>ado</em>Conn.Openrn<em>ado</em>Recordset.Open SqlStr, <em>ado</em>Conn, adOpenKeysetrn在sqlserver2000下<em>执行</em>一个<em>存储过程</em>并将返回的结果集存在<em>ado</em>recordset中后,<em>ado</em>recoredset的state始终是0(关闭),调用其中的如recordset等方法会出错3704(对象关闭,无法<em>操作</em>)。rn<em>存储过程</em>如下:rncreate procedure xt_batch_oper_dkh rn( rn @p_oper char(1) ,--<em>操作</em>类别,1:添加,2:修改,3:删除 rn -- rn @p_czgy varchar(8) rn) rnas rndeclare @v_txtfile varchar(100)rnbegin rn --添加 rn if @p_oper='1' rn begin rn select @v_txtfile = setvalue from T_CONFIG where SETNAME = 'DKHBATCH' rn if @v_txtfile = '' rn begin rn select MSGNO = '0001',MSG = '无此文件路径配置' rn return rn end rn delete from T_DKHBATCH rn rn select MSG='ok' rn end rnendrn但该<em>存储过程</em>在查询分析器中<em>执行</em>一切正常(有返回结果集)。rn将其中的 delete from T_DKHBATCH rn注释掉,<em>ado</em>recordset又能正常,不知何故,望高手指点
ADO执行存储过程2
在一个项目中,我需要用到<em>存储过程</em>来访问数据,为了提供一个比较一致的接口以便调用,我没有使用createparameter(),而是调用commandptr的refresh()函数先从数据库中查询参数._connectionptr m_pconn;m_pconn.createinstance(__uuidof(connection));m_pconn->open("driver={sql serve
ado执行存储过程问题
要<em>执行</em>的<em>存储过程</em>带有参数,并且返回结果集。rnrn在delphi里面是这样的:rn<em>ado</em>query1.sql.clear;rn<em>ado</em>query1.sql.add('exec sp_name :param1,:param2');rn<em>ado</em>query1.parameters[0].value=str1;rn<em>ado</em>query1.parameters[1].values=str2;rn<em>ado</em>query1.open;rn结果集就在<em>ado</em>query1里面。rnrn不知在vc里面如何实现,最好不要创建参数变量。rn还有我的msdn里面为何没有_ConnectionPtr,_RecordsetPtr等<em>ado</em>类?rn我的是january 2002的rnrnrn
如何得到ADO存储过程返回值?
如何在Delphi中得到ADO<em>存储过程</em>的<em>返回值</em>?rn---------------------------rn例如<em>存储过程</em>为:rnCREATE PROCEDURE dbo.cx @A int output rnASrnselect @A=count(*) from table1rn---------------------------rn得到@A和@RETURN_VALUE的值?rn另外请详细的讲<em>一下</em>@RETURN_VALUE的意思!rnrn
ADO 取存储过程return返回值
int CADO::CallProc(CString TicketNum)rnrn int value=0;rn tryrn _ParameterPtr param(__uuidof(Parameter)); rn _bstr_t sql="prc_ChkTicket"; rn if(m_pConnection == NULL)rn OnInitADOConn();rn m_pCommand.CreateInstance(__uuidof(Command));rn m_pCommand->put_ActiveConnection(_variant_t((IDispatch*)m_pConnection)); rn m_pCommand->CommandText=sql; rn m_pCommand->CommandType=adCmdStoredProc; rn rn //下面是参数名 rn CString ActivityID,TicketID,UnitID,TerminalID; rn int KeyFlag,ChkCount;rn rn ActivityID="10001100"; rn TicketID=TicketNum; rn UnitID="150001"; rn TerminalID="1001"; rn KeyFlag=0; rn ChkCount=0; rn _variant_t vaid,vtid,vuid,vtermid,vk,vc; rn vaid=_variant_t(_bstr_t(ActivityID)); rn vtid=_variant_t(_bstr_t(TicketID)); rn vuid=_variant_t(_bstr_t(UnitID)); rn vtermid=_variant_t(_bstr_t(vtermid)); rn vk.vt=VT_I4;///指明整型数据rn vk.lVal=KeyFlag; ///赋值rn vc.vt=VT_I4;rn vc.lVal=ChkCount;rn rn //以下是注册参数 rn param=m_pCommand->CreateParameter("ActivityID",adVarChar,adParamInput,20,vaid); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("TicketID",adVarChar,adParamInput,32,vtid); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("UnitID",adVarChar,adParamInput,10,vuid); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("TerminalID",adVarChar,adParamInput,20,vtermid); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("KeyFlag",adInteger,adParamInput,sizeof(int),vk); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("ChkCount",adInteger,adParamOutput,sizeof(int),vc); rn m_pCommand->Parameters->Append(param); rn param=m_pCommand->CreateParameter("Return",adInteger,adParamReturnValue,sizeof(int)); rn rn _variant_t vNull; rn vNull.vt=VT_ERROR; rn vNull.scode=DISP_E_PARAMNOTFOUND; rn m_pCommand->Execute(&vNull,&vNull,adCmdStoredProc); rn rn //在这里取<em>返回值</em> rn //取得是output<em>返回值</em>rn // _variant_t v=m_pCommand->Parameters->Item[long(5)]->Value; rn //取得是return<em>返回值</em>rn// param=m_pCommand->CreateParameter("Return",adInteger,adParamReturnValue,sizeof(int)); rn _variant_t v=m_pCommand->Parameters->GetItem("Return")->GetValue(); rn// AfxMessageBox(_bstr_t(v)); rn //AfxMessageBox(_bstr_t(cmd->Parameters->GetItem(_variant_t("ChkCount"))->GetValue())); rn value=v.intVal; rn //AfxMessageBox(_bstr_t("成功")+_bstr_t(v)); rn //AfxMessageBox(value); rn // ChkCount=vc.intVal;rn // value=ChkCount;rn param.Release(); rn m_pCommand.Release(); rn rn catch(_com_error e)rn rn AfxMessageBox(e.Description()); rn rn rn rn return value;rnrn只能取得OutPut值rn取不出来return值,请高手帮我看看是什么问题谢谢!
ado调用存储过程返回值问题
通过<em>ado</em>的command对象调用<em>存储过程</em>,<em>存储过程</em>的参数是<em>ado</em>自动取得的,默认第一个参数为return_value,<em>存储过程</em><em>执行</em>插入、删除,可以取得<em>返回值</em>;但是<em>执行</em>update时,<em>返回值</em>是空。如何取得修改时的<em>返回值</em>呢?rnreturn_value是通过return 语句返回的一个整数rn调用<em>存储过程</em>的代码如下:rnmyArray = Split(paramString, "|||") '参数数组rn loopVar = 1 'loopVar=0时,Parameters(loopVar)为rn '<em>返回值</em>rn myCommand.ActiveConnection = myConnectionrn myCommand.CommandType = adCmdStoredProcrn myCommand.CommandText = procName '<em>存储过程</em>名字rn rn '用循环给<em>存储过程</em>的参数附值rn For Each str In myArrayrn myCommand.Parameters(loopVar).Value = strrn loopVar = loopVar + 1rn Nextrn rn Set myRecord = myCommand.Execute()rn If myCommand.Parameters(0) = 60000 Then rn '<em>返回值</em>为60000时代表<em>执行</em>成功rn .......rn End Ifrnrn<em>存储过程</em>如下:rnCREATE PROCEDURE Update_Rolern @roleId int,rn @roleName varchar(20),rn @roleDescription varchar(100)rnASrnBEGINrn UPDATE Rolern SET role_name = @roleName, role_description = @roleDescriptionrn WHERE role_id = @roleIdrn rn RETURN 60000rnENDrnrn
ADO调用存储过程返回值问题
我用的ADO控件在属性里的RecordSource标签页里调用SQL Server的带参的<em>存储过程</em>,怎么取得调用后的<em>返回值</em>。谢谢
mybatis获取存储过程返回值
今天遇到一个问题,从ibatis把项目迁移到mybatis,因为mybatis不再支持procedure标签,于是改为select标签,加上statementType=”CALLABLE”。 因为传进去的参数采用的是map,因此定义了一个parameterMap。 mybatis中的jdbcType不再支持int,需要用Integer。 最大的问题再与,<em>返回值</em>是int类型,我将resultTy
数据库操作--获取存储过程返回值
用SQL Server数据库写了个<em>存储过程</em>,代码如下 create procedure proc_select @id int as begin if exists(select * from news where id=@id) return 1 else return 2 end 在C#中通过<em>执行</em><em>存储过程</em>来<em>获取</em><em>返回值</em>,但是返回的结果总是-1,纠结啊。在数据库中查询,是没有问题的
ado.net获取存储过程返回值
CREATE proc sp_uptmp @tmpName varchar(50),@srcPos varchar(255) as Begin TRAN insert into t_template values(@tmpName,@srcPos) COMMIT return isnull(@@identity,0) SqlConnection dbconn = new Sql
获取存储过程返回值
public string CheckBlog(string UserID, string PerBlogID)rn rn string RS;rn string cmdText = "BJSJ_CkPerBlogSame";rn SqlParameter[] paras = new SqlParameter[] rn new SqlParameter("@PerBlogID",PerBlogID),rn new SqlParameter("@UserID",UserID),rn new SqlParameter("@RS",SqlDbType.VarChar).Direction = ParameterDirection.Outputrn ;rn sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);rn RS = paras[2].Value.ToString();rn return RS;rn rnrnsqlhelper是连接数据库的部分,没有问题。rnrn我想返回RS,始终报错rn错误 5 无法将类型“System.Data.ParameterDirection”隐式转换为“System.Data.SqlClient.SqlParameter” F:\bjsj_test\BLL\PerBlogManager.cs 208 13 BLLrnrnrn非常着急,在线等。
如何获取存储过程返回值
现在有rncreate Procedure Arnas rnreturn 1rnrncreate procedure Brnas rnbeginrndeclare @rv intrn'我想在这里调用A<em>存储过程</em>,并将<em>返回值</em>赋给@rv. 如何做!rnend
如何获取存储过程返回值??
CREATE PROCEDURE aa rn@page int, .....页码rn@pagesize int , ...页面大小rn@pagecount int output ...总页数asrnbeginrndeclare @istart int ....起始idrndeclare @xxx int ....将读取的记录数rndeclare @count int .....总记录数rnselect @count=count(*) from gsk rnset @pagecount=@count/@pagesizernset nocount onrnset @xxx=@pagesize*(@page-1)+1rnset rowcount @xxxrnselect @istart=id from gsk where order by id descrnset rowcount @pagesizernset nocount offrnselect name from gsk where idrnrn各位大虾,以上这段代码是我通过<em>存储过程</em>获得分页显示的一部分。程序获得成功,但是@pagecount无法返回。rn请各位大虾帮我看一看,在下感激不尽!!
VBA获取存储过程返回值
目的:将excel中的一行中部分数据通过sqlserver<em>存储过程</em>写入数据库,同时将<em>存储过程</em>中算出的output参数输出到excel中rn<em>存储过程</em>代码:rn[code=sql]rnALTER PROCEDURE [dbo].[updatenewline]rn @serial int output,rn @opname nvarchar(255),rn @orginal_number int output,rn @input_date date,rn @state_now nvarchar(255),rn @month tinyint,rn @report_date date,rn @report_number nvarchar(255),rn @client_name nvarchar(255),rn @supplier_name nvarchar(255),rn @factory_name nvarchar(255),rn @inspection_type nvarchar(255),rn @total_QTY int,rn @total_item int,rn @sample_level nvarchar(255),rn @AQL_major nvarchar(255),rn @AQL_minor nvarchar(255),rn @Inspection_standard nvarchar(255),rn @Sampling_Plan nvarchar(255),rn @report_model nvarchar(255) output,rn @product_level1 nvarchar(255),rn @product_level2 nvarchar(255),rn @product_level3 nvarchar(255),rn @product_info nvarchar(255),rn @product_PONO nvarchar(255),rn @product_itemNO nvarchar(255),rn @source_area nvarchar(255),rn @source_province nvarchar(255),rn @source_city nvarchar(255),rn @manday float,rn @price float,rn @sales nvarchar(255) output,rn @paytime date output,rn @audittime date output,rn @foundornot nvarchar(255) output,rn @leadtime smallint outputrnASrnBEGINrn SET NOCOUNT ON;rnIF EXISTS(select * from Source where 报告号=@report_number)rnRETURN '0'rnelsernbeginrn -- Insert statements for procedure herern select @serial = MAX(序号)+1 from Sourcern select @orginal_number = MAX(原始编号)+1 from Source where 录入人=@opnamern select @sales=[责任业务员] from 客户汇总对比 where 客户=@client_namern select @leadtime=[账期] from 客户汇总对比 where 客户=@client_namern select @paytime=CONVERT(varchar(100), DATEADD(day,@leadtime,DATEADD(mm, DATEDIFF(mm,0,@report_date)+1, 0)), 23)rn select @audittime=@report_datern select @foundornot='否'rn declare @sql Nvarchar(max)rn set @sql=''rn select @sql = 'select @report_model=[报告模板-'+@inspection_type + '] from 客户汇总对比 where 客户=@client_name'rn EXEC sys.sp_executesql @sqlrn ,N'@client_name nvarchar(255),@report_model nvarchar(255) output'rn ,@client_name,@report_model OUTPUTrn INSERT INTO Sourcern (序号, 录入人, 原始编号, 录入日期, 当前状态, 月份, 日期, 报告号, 客户名称, 供应商名称, 工厂名称, 检验类型, 总数量, 款数, [Sampling level], [AQL major], [AQL minor],rn [Inspection standard], [Sampling Plan], 报告模板, 产品大类, 产品小类, 产品名称, 产品信息, [PO NO], [ITEM NO], 区域, 工厂省份, 工厂城市, Manday, [金额(美金)],业务,应收款时间,审核日期,审核是否有发现,账期)rnVALUES (@serial,@opname,@orginal_number,@input_date,@state_now,@month,@report_date,@report_number,@client_name,@supplier_name,@factory_name,@inspection_type,@total_QTY,@total_item,@sample_level,@AQL_major,@AQL_minor,@Inspection_standard,@Sampling_Plan,@report_model,@product_level1,@product_level2,@product_level3,@product_info,@product_PONO,@product_itemNO,@source_area,@source_province,@source_city,@manday,@price,@sales,@paytime,@audittime,@foundornot,@leadtime)rnendrnENDrn[/code]rnrn在sql server中写了一段代码直接<em>执行</em>,运行成功:rn[code=sql]rndeclare @serial1 intrndeclare @orginal_number1 intrndeclare @report_model1 nvarchar(255)rndeclare @sales1 nvarchar(255)rndeclare @paytime1 daterndeclare @audittime1 daterndeclare @foundornot1 nvarchar(255)rndeclare @leadtime1 smallintrnexec dbo.updatenewlinern@opname='coco',rn@serial=@serial1 output,rn@orginal_number=@orginal_number1 output,rn@input_date='2014-01-01',rn@state_now='已发报告',rn@month=1,rn@report_date='2014-01-01',rn@report_number='011312-IS0034-XXXX',rn@client_name='GLOB',rn@supplier_name='supplier_name',rn@factory_name='factory_name',rn@inspection_type='PSI',rn@total_QTY=100,rn@total_item=2,rn@sample_level='level',rn@AQL_major='major',rn@AQL_minor='minor',rn@Inspection_standard='standard',rn@Sampling_Plan='Plan',rn@report_model=@report_model1 output,rn@product_level1='level1',rn@product_level2='level2',rn@product_level3='level3',rn@product_info='info',rn@product_PONO='PONO',rn@product_itemNO='itemNO',rn@source_area='area',rn@source_province='province',rn@source_city='city',rn@manday=1.5,rn@price=198,rn@sales=@sales1 output,rn@paytime=@paytime1 output,rn@audittime=@audittime1 output,rn@foundornot=@foundornot1 output,rn@leadtime=@leadtime1 outputrn[/code]rnrn在VBA中使用如下代码可以<em>执行</em>数据插入到数据库的动作,但是不知道如果取得output参数填入excelrn[code=vb]rnSQL = "declare @serial1 int .........@leadtime=@leadtime1 output"rnSet rs = cnn.Execute(SQL)rn[/code]rnrn如果使用Parameters.Append方法在cmd.Execute处出现错误提示:运行时错误 形参"@price"未声明为output参数 但传递进来的实参请求输出.rn[code=vb]rnSet cnn = New ADODB.Connectionrncnn.Open connstrrnrnSet cmd = New ADODB.CommandrnSet cmd.ActiveConnection = cnnrncmd.CommandText = "updatenewline"rncmd.CommandType = adCmdStoredProcrncmd.Parameters.Append cmd.CreateParameter("@RETURN_VALUE", adInteger, adParamReturnValue)rncmd.Parameters.Append cmd.CreateParameter("@serial", adInteger, adParamOutput)rncmd.Parameters.Append cmd.CreateParameter("@opname", adVarChar, adParamInput, Len(G_name), G_name)rncmd.Parameters.Append cmd.CreateParameter("@orginal_number", adInteger, adParamOutput)rncmd.Parameters.Append cmd.CreateParameter("@input_date", adDBDate, adParamInput, Len(input_date), input_date)rncmd.Parameters.Append cmd.CreateParameter("@state_now", adVarChar, adParamInput, Len(state_now), state_now)rncmd.Parameters.Append cmd.CreateParameter("@month", adTinyInt, adParamInput, Len(month_number), month_number)rncmd.Parameters.Append cmd.CreateParameter("@report_date", adDBDate, adParamInput, Len(report_date), report_date)rncmd.Parameters.Append cmd.CreateParameter("@report_number", adVarChar, adParamInput, Len(report_number), report_number)rncmd.Parameters.Append cmd.CreateParameter("@client_name", adVarChar, adParamInput, Len(client_name), client_name)rnrnIf supplier_name = "" Thenrncmd.Parameters.Append cmd.CreateParameter("@supplier_name", adVarChar, adParamInput, 50)rncmd.Parameters("@supplier_name").Value = ""rnElserncmd.Parameters.Append cmd.CreateParameter("@supplier_name", adVarChar, adParamInput, Len(supplier_name), supplier_name)rnEnd Ifrnrn...........................................................rnrnIf source_city = "" Thenrncmd.Parameters.Append cmd.CreateParameter("@source_city", adVarChar, adParamInput, 50)rncmd.Parameters("@source_city").Value = ""rnElserncmd.Parameters.Append cmd.CreateParameter("@source_city", adVarChar, adParamInput, Len(source_city), source_city)rnEnd Ifrnrncmd.Parameters.Append cmd.CreateParameter("@manday", adDouble, adParamInput, Len(manday), manday)rncmd.Parameters.Append cmd.CreateParameter("@price", adDouble, adParamInput, Len(sprice), sprice)rnrncmd.Parameters.Append cmd.CreateParameter("@sales", adVarChar, adParamOutput, 50, Null)rncmd.Parameters.Append cmd.CreateParameter("@paytime", adDBDate, adParamOutput, 50, Null)rncmd.Parameters.Append cmd.CreateParameter("@audittime", adDBDate, adParamOutput, 50, Null)rncmd.Parameters.Append cmd.CreateParameter("@foundornot", adVarChar, adParamOutput, 50, Null)rncmd.Parameters.Append cmd.CreateParameter("@leadtime", adDBDate, adParamOutput, 50, Null)rnrnrs = cmd.ExecuternWorkbooks(AC26_file_name).Worksheets("Source").Cells(Selection.Row, serial_column).Value = cmd.Parameters("@serial").Valuern[/code]rnrnrn小弟初学,请各位大大帮我改下代码,万分感谢!不管是哪种办法,能实现就好
SqlServer获取存储过程返回值
1.OUPUT参数<em>返回值</em> CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT ) AS BEGIN SET NOCOUNT ON; BEGIN INSERT INTO [Order](o_buyerid ) VALUES (@o_buyerid ) SET @o_id = @@IDE
SSI获取存储过程返回值
sql.xml: &lt;parameterMap class="java.util.HashMap" id="AllocateResult"&gt; &lt;parameter property="city" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" /&gt; &...
如何获取存储过程返回值
数据库<em>存储过程</em>返回一个值,是无列名的rn如果在asp中可用rs(0).value获得rnstrTarget = myRs(0)rnrn那么在asp.net中,我用dataset获得了<em>存储过程</em>返回内容之后如何赋值?rnrnstrTarget = myDataSet.tables[0].????rnrn谢谢
ASP.NET获取存储过程返回值
<em>存储过程</em> alter procedure NorthwindSearch ( @productID int ) as return 1 go
怎么获取存储过程返回值
[code=SQL]rnSET ANSI_NULLS ONrnGOrnSET QUOTED_IDENTIFIER ONrnGOrnALTER PROCEDURE [dbo].[SO_BLOG_UPDATE_USER]rn @username varchar(50) =null,rn @blogname varchar(50) =null,rn @headimg varchar(50) =null,rn @summary varchar(200) =null,rn @blogtitle varchar(50) =null,rn @address varchar(50) =null,rn @birthday datetime=null,rn @gender bit=1,rn @keepsecret bit=0,rn @return int outputrn asrn set nocount onrn beginrn BEGIN TRANSACTIONrn update blog_user set blogname=@blogname,headimg=@headimg,summary=@summary,blogtitle=@blogtitle,address=@address,birthday=@birthday,gender=@gender,keepsecret=@keepsecret where username=@usernamern IF @@error=0rn beginrn COMMIT TRANSACTIONrn set @return = 1rn endrn ELSErn beginrn ROLLBACK TRANSACTIONrn set @return = 0rn end rn returnrn endrn[/code]rn这个要怎么<em>获取</em>返回的值啊?rn我用这个不行 总是 0 但是语句又<em>执行</em>了rn[code=C#]rnpublic int ExecuteNonQuerytoo(string connectionString, CommandType cmdType, string cmdText)rn rn int result = -1;rn SqlConnection conn = new SqlConnection(connectionString);rn cmd.Connection = conn;rn cmd.CommandText = cmdText;rn cmd.CommandType = cmdType;rn conn.Open();rn SqlParameter spt = new SqlParameter("@return", SqlDbType.Int, 4);rn spt.Direction = ParameterDirection.ReturnValue;rn cmd.Parameters.Add(spt);rn cmd.ExecuteNonQuery();rn result = Convert.ToInt32(spt.Value);rn conn.Close();rn return result;rn rn[/code]
求一个异步执行使用方式
不好意思,新学object-crnrn现有个需求是蓝牙通信的,一问一答机制,发条命令给蓝牙设备,得到蓝牙设备返回的数据rn函数如下rn- (NSData *)sendRecvCmd:(int)cmdID:(unsigned char *)cmdData:(int)dataLen:(int)overtime;rnrn我看都是用GCD,但是这样如何得到返回数据呢?rnrnrn
sqlserver获取存储过程返回值
1.OUPUT参数<em>返回值</em> CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT ) AS BEGIN SET NOCOUNT ON; BEGIN INSERT INTO
获取存储过程 Return 返回值
<em>存储过程</em> CREATE PROCEDURE [dbo].[TestProc]   @name varchar(50)AS  select Hello, World! + @name   return 1234GOADO.NET 代码 using (SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=s
ASP.NET 获取存储过程返回值
1.首先我们要建立一张表(UserInfo)。 主要字段Id、uname、upass。 2.创建带<em>返回值</em>的<em>存储过程</em> 1 create proc proc_addUserInfo2 @uname varchar(50),3 @upass varchar(50),4 @Returnc int output5 as6 begin 7 insert into erp_user(u_name,u_...
ASP.net获取存储过程返回值
今天做新闻系统的分页功能..结果想编写一个<em>存储过程</em>来<em>获取</em>新闻的记录数..<em>返回值</em>怎么也取不出来,经过Google的搜索,好不容易整下来了,哇咔咔!记下来先! <em>存储过程</em>在这里:--用ParameterDirection.ReturnValue; <em>返回值</em> -- ============================================= -- Author: 杨峰
SqlCommand获取存储过程返回值
[code=SQL]rncreate proc GetUsersrn@Count int outrnasrnselect id,name from Usersrnset @Count = (Select COUNT(id) from Users)rngorn[/code]rnrn[code=C#]rn SqlParameter param = new SqlParameter("@Count",SqlDbType.Int,5);rn param.Direction = ParameterDirection.Output;rn cmd.Parameters.Add(param);rn cmd.CommandText = "GetUsers";rn cmd.Connection.Open();rn cmd.ExecuteNonQuery();rn object obj = cmd.Parameters["@Count"].Value;rn // get the value correctrn cmd.Connection.Close();rnrn/* error */rn SqlDataReader dr = cmd.ExecuteReader();rn object obj = cmd.Parameters["@Count"].Value;rn // error the return value is nullrn[/code]rnrn为什么<em>执行</em>DataReader方法的时候得不到<em>返回值</em>呢?
.net存储过程,获取返回值
        If action = "2" Then            cmd = New SqlCommand("sp_del_office_byID", conn)            cmd.CommandType = CommandType.StoredProcedure            cmd.Parameters.Add("@OfficeID", SqlDbType.I
Kettle 获取存储过程返回值
Kettle <em>获取</em><em>存储过程</em>的<em>返回值</em> 1.需求 kettle中,需要调用<em>存储过程</em>,但是这个<em>存储过程</em>是有<em>返回值</em>的,我们怎么<em>获取</em>到这个<em>返回值</em>呢? 2.实现 kettle中存在一个控件**“设置变量”**,可以使用这个变量来<em>获取</em>返回字段,然后设置成<em>返回值</em>,最后在转换的外层调用即可。 这里给出一个简要的示意图,如下示: ...
获取sqlserver的存储过程返回值
sqlserver的<em>存储过程</em>代码:rn[color=#FF0000]CREATE PROCEDURE xs_test rn@input int,@err int outputrnASrnif @input < 0 rn SET @ERR = -1rnelse if @input = 0 rn set @err = 0 rnelsern set @err = 1rnGO[/color]rnrnpb7 调用的代码:rn[color=#0000FF]integer li_err,li_testrnli_test = -4rnli_err =1rnDECLARE xs_sql PROCEDURE FOR XS_test @input=:li_test,@err =:li_err OUTPUT;rnEXECUTE xs_sql; rnFETCH xs_sql INTO :li_err;rnCLOSE xs_sql;rnmessagebox("",li_err2)[/color]rnrn为什么返回的li_err的值是总是 0 呢,应该是-1 啊,大虾们帮我看看是什么问题rn
在java获取存储过程返回值
这是<em>存储过程</em>!rn[code=SQL] PROCEDURE train_type_d(trainTypeId int,rn rtn out int)rn isrn v_count number;rn beginrn select count(*) into v_count from TRAIN_TYPE where UP_TRAIN_TYPE_ID= trainTypeId;rn if v_count>0 thenrn rtn := 0;rn elsern delete TRAIN_TYPE where TRAIN_TYPE_ID = trainTypeId;rn rtn := 1;rn end if;rn end;[/code]rnrn<em>执行</em>后 返回rtn 类型是int的rnjava<em>执行</em>存储代码(例如)rn[code=Java]this.sysBiz.delTrainType(id);[/code]rn怎样在java中<em>获取</em>rtn的值?rnTHX!
如何获取存储过程返回值
我看了CSDN以前的帖子,要不看不懂,要不就是出错,到底该怎么得到啊?rn我做的一个普通的登陆功能:rnprocedure TForm_logo.Button1Click(Sender: TObject);rnbeginrn with <em>ado</em>StoredProc1 dorn beginrn Close;rn ProcedureName:='xueji_check;1';rn Prepared:=true;rn Parameters.Refresh;rnrn Parameters.ParamValues['@user_name']:= edit1.Text;rnrn if RaB_stu.Checked thenrn Parameters.ParamValues['@authority']:= 1rn else if RaB_academy.Checked thenrn Parameters.ParamValues['@authority']:= 2rn elsern Parameters.ParamValues['@authority']:= 3;rnrn ExecProc;rn edit1.Text := <em>存储过程</em>的<em>返回值</em>;rn end;rnend;rnrn<em>存储过程</em>如下:rnCREATE PROCEDURE xueji_checkrnrn@user_name varchar(50),rn@authority varchar(10)rnrnASrnrndeclare @abc intrnselect @abc=count(*) from xj_userrnwhere username=@user_name and authority=@authorityrnreturn @abcrnGO
50分求存储过程返回值
<em>存储过程</em>如下:rnCREATE PROCEDURE pmc_count(@comtype varchar(50))rnasrndeclare @comcount intrnset @comcount=(select count(*) from pmc where comtype=@comtypernGOrn------------------rn我要用count.text得到@comcount的值,怎么做??
求动态SQL返回值存储过程
我用动态SQL语句来返回符合条件的记录数,如下:rnrnCREATE PROCEDURE zhcx_11wrts --单个条件查询记录数rn@zd varchar(10),@nr varchar(10) ---@zd (字段) @nr (字段值)rnASrnbeginrndeclare @count intrnEXEC('select @count=count(*) from volvo where '+@zd+' ='''+@nr+'''')rnreturn @countrnendrnGOrnrn调用如下:rndeclare @count int,@zd varchar(10),@nr varchar(10) set @zd='bxlx' set @nr='小修' exec @count=zhcx_11wrts @zd,@nr select @count shuliangrnrn出现如下错误:rn服务器: 消息 137,级别 15,状态 1,行 1rn必须声明变量 '@count'。rn过程 'zhcx_11wrts' 试图返回状态值 NULL,但不允许这样做。将改为返回状态值 0。rnrn(所影响的行数为 1 行)rnrn如何正确书写动态SQL<em>返回值</em>的<em>存储过程</em>???rnrnrnrn
存储过程返回值
我是想取得自动增量的值。那个full有没有没什么用。rn<em>存储过程</em>如下。rn表为dingdan_infornid bigintrnfull nvarcharrnrnCREATE PROCEDURE add_ding(@id bigint output) ASrninsert into dingdan_info([full]) values(1) select @@identity as idrnreturnrnGOrn代码如下rnrnpublic System.Int64 add_ding()rnSystem.Data .SqlClient .SqlCommand xx=this.mycommand ("add_ding");rnxx.Parameters .Add (new SqlParameter ("@id",System.Data .SqlDbType .BigInt ));rnxx.Connection .Open ();rnxx.ExecuteNonQuery ();rnSystem.Int64 id=System.Convert .ToInt64 (xx.Parameters["@id"].Value .ToString ());rnxx.Connection .Close ();rnreturn id;rnrn<em>执行</em>以后。说<em>存储过程</em>需要@id参数。我的这个@id是输出的。。。rn求大侠帮忙解答<em>一下</em>rn
ADO 如何操作存储过程
rnm_pConnection 的类型是_ConnectionPtrrnrn_CommandPtr m_pCommand;rn m_pCommand->ActiveConnection=m_pConnection;rn m_pCommand->CommandType=adCmdStoredProc;rn _RecordsetPtr pRstByRoyalty;rn pRstByRoyalty = m_pCommand->Execute( NULL,NULL,adCmdStoredProc);rn while(!pRstByRoyalty-><em>ado</em>EOF)rn vt_id = m_pRecordset->GetCollect("truck_id");rn if(vt_id.vt!=VT_NULL)rn str = (LPCTSTR)(_bstr_t)vt_id;rn m_pRecordset->MoveNext();rn rnrn可是在调试的时候m_pCommand->ActiveConnection=m_pConnection这一句就出错了!rn难道 这样不可以使用ADO连接吗?rn
curl 异步执行操作
上面的是post请求下面的是get请求 $remeote_sever 是表示目标路径, 要<em>异步</em><em>操作</em>就要对其进行<em>一下</em>超时处理。 最小就是一秒。所以调用一次就最长会有一秒的延迟。 function request_by_curl($remote_server) { $post_string = "name=荷花"; $ch = curl_init(); curl_setop
ADO操作存储过程(VB)
Dim <em>ado</em>Connaction as new <em>ado</em>db.connactionDim <em>ado</em>Command as new <em>ado</em>db.CommandDim <em>ado</em>Recordset as new <em>ado</em>db,RecordsetDim strConnaction as string数据库连接strConnaction = "Driver={sql server};server=server n
异步执行网络操作
package com.example.android.networktest; import android.app.ProgressDialog; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.C
ADO 如何使用 异步方式??
我在做备份和恢复,想在备份或恢复过程,进度条能够 不停的刷新  不知道这个<em>异步</em><em>方式</em>如何实现rn哪位给说明<em>一下</em>啊?
JAVA执行存储过程接收返回值
List result = new ArrayList();//接收值所用的列表 Connection conn = DAOFactory.getDAOFactory().getConnection();//根据项目情况打开连接(这里只是我项目的打开<em>方式</em>) CallableStatement statement = conn.prepareCall("{call up_GetDept(?)}")
ExecuteNonQuery()执行存储过程返回值问题?
rn问题是这样的:rnrnMSND上说; ExecuteNonQuery 在<em>执行</em>UPDATE、INSERT 和 DELETE 语句,<em>返回值</em>为该命令所影响的行数。 rn可是我用的时候,一直返回-1(-1代表<em>执行</em>失败!) rn我从数据库里看到,<em>执行</em>成功。 rnrncreate table StudentResume --创建一个表rn( rn StdID int, rn StudentID nvarchar(50), rn InitiationTime datetime, rn TerminationTime datetime, rn LocationIN nvarchar(50), rn WorkContent nvarchar(MAX), rn Position nvarchar(50), rn Authenticator nvarchar(50), rn Notes nvarchar(MAX) rn) rnrn//创建一个<em>存储过程</em> rnset ANSI_NULLS ON rnset QUOTED_IDENTIFIER ON rngo rnrnrnrn-- ============================================= rn-- Author: rn-- Create date: rn-- Description: rn-- ============================================= rncreate PROCEDURE [dbo].[prInsertStudentResume] rn -- Add the parameters for the stored procedure here rn @StdID int, rn @StudentID nvarchar(50), rn @InitiationTime datetime, rn @TerminationTime datetime, rn @LocationIN nvarchar(50), rn @WorkContent nvarchar(MAX), rn @Position nvarchar(50), rn @Authenticator nvarchar(50), rn @Notes nvarchar(MAX) rnrnAS rnBEGIN rn -- SET NOCOUNT ON added to prevent extra result sets from rn -- interfering with SELECT statements. rn SET NOCOUNT ON; rnrn -- Insert statements for procedure here rnif(@InitiationTime='') rn begin rn set @InitiationTime=null rn end rnif(@TerminationTime='') rn begin rn set @TerminationTime=null rn end rnif(@LocationIN='') rn begin rn set @LocationIN=null rn end rnif(@WorkContent='') rn begin rn set @WorkContent=null rn end rnif(@Position ='') rn begin rn set @Position=null rn end rnif(@Authenticator='') rn begin rn set @Authenticator=null rn end rnif(@Notes='') rn set @Notes=null rn/*-- rn -- 定义一个局部变量,保存@@rowCount的值 rn*/ rn declare @rows int rn select @rows = @@rowCount rnrn --然后<em>执行</em>插入 rn insert StudentResume(StdID,StudentID,InitiationTime,TerminationTime,LocationIN,WorkContent,Position,Authenticator,Notes) rn values(@StdID,@StudentID,@InitiationTime,@TerminationTime,@LocationIN,@WorkContent,@Position,@Authenticator,@Notes) rnrn select @rows = @@rowCount rnrn declare @ErrorCode int rn select @ErrorCode=@@Error rn if @ErrorCode<>0 rn begin rn RaisError('Error occurred while inserting into StudentResume!',16,1) rn Return @ErrorCode rn end rn --判断,如果@rows为0,则 rn if @rows = 0 rn Print 'No rows were inserted!' rnrn --如果@rows为1,则显示1 rn if @rows = 1 rn Print '1' rn --返回@rows的值,代表@@rowCount 修改的行数 rn Return @rows rnEND rnrn然后<em>执行</em>这段<em>存储过程</em>(这是petshop4上的SQLHelper上的一段程序)rn运行代码函数 //相关参数都以准确的得到 rn public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) rn rnrn SqlCommand cmd = new SqlCommand(); rnrn using (SqlConnection conn = new SqlConnection(connectionString)) rn rn PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); rn int val = cmd.ExecuteNonQuery(); //这里始终是返回-1,在SQL2005的查询分析器中<em>执行</em><em>存储过程</em>可以返回的正确的结果是1(正确)rn cmd.Parameters.Clear(); rn return val; rn rn rnrn private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)rn rnrn if (conn.State != ConnectionState.Open)rn conn.Open();rnrn cmd.Connection = conn;rn cmd.CommandText = cmdText;rnrn if (trans != null)rn cmd.Transaction = trans;rnrn cmd.CommandType = cmdType;rnrn if (cmdParms != null)rn rn foreach (SqlParameter parm in cmdParms)rn cmd.Parameters.Add(parm);rn rn rn
有关执行存储过程返回值的问题
请问用java<em>执行</em><em>存储过程</em>,如何得到<em>返回值</em>,就是在<em>存储过程</em>里写的那个return返回的值.通常情况下是0.
返回值存储过程执行
1.带<em>返回值</em>的<em>存储过程</em> create procedure list30@sex char(10),@avgAge int outputasselect @avgAge= avg(sage)from swhere ssex = @sex  2.<em>执行</em> declare @avgAge int    --自定义变量exec list30
ExecuteNonQuery执行存储过程返回值是什么?
用ExecuteNonQuery<em>执行</em>sql语句时,返回的是影响的行数rn可是我用ExecuteNonQuery<em>执行</em>一个简单的存储时,<em>执行</em>成功了,但是返回的都是 -1 啊,为什么?rn rnCREATE PROCEDURE a_addrn @bh char(3),rn @xmmc char(80),rn @xmjc char(30),rn @sybz char(1),rn @nd smallint rnAS rnrn BEGIN rn Insert into acc_cash values(@bh,@xmmc,@xmjc,@sybz,@nd)rn END rn
执行存储过程return无法返回值
为什么得不到<em>返回值</em>?rn查询分析器中<em>执行</em><em>存储过程</em>可已返回1rn在页面中:<em>存储过程</em>可以<em>执行</em>,也能把数据插入到表中,但总返回0。rnrn表的脚本文件rnCREATE TABLE [dbo].[UserLog] (rn[LogID] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[LoginID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[UserID] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[LoginIP] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[LogTime] [datetime] NOT NULL ,rn[LogType] [varchar] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[RecordStatus] [varchar] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[Text] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULLrn)rnCREATE TABLE [dbo].[HistoryOp] (rn[HistoryID] [varchar] (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,rn[OperateFunc] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,rn[OperateTable] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,rn[OperateValue] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NULL ,rn[OperateType] [varchar] (1) COLLATE Chinese_PRC_CI_AS NULL ,rn[OperateBy] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,rn[OperateDATE] [datetime] NULL ,rn[RecordStatus] [varchar] (1) COLLATE Chinese_PRC_CI_AS NULL ,rn[Memo] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULLrn)rnrnrn<em>存储过程</em>rnCREATE procedure exechistoryrn@sqlstr VARCHAR(2000),rn@opkeyvalue VARCHAR(50),rn@optable VARCHAR(50),rn@opfunc VARCHAR(50),rn@optype VARCHAR(50),rn@opby VARCHAR(50),rn@memo VARCHAR(50)rnasrnset nocount onrndeclare @logkeyvalue VARCHAR(30);rnbeginrn exec(@sqlstr);rn select @logkeyvalue=max(cast(historyid as bigint))+1 from historyop;rn if @logkeyvalue is NULLrnbeginrn set @logkeyvalue= convert(varchar(8),getdate(),112) + '000001';rnend;rn elsern beginrn if substring(@logkeyvalue,0,9) <>convert(varchar(8),getdate(),112)rnbeginrn set @logkeyvalue= convert(varchar(8),getdate(),112) + '000001';rnend;rn end;rn --<em>执行</em>日志记录,返回日志记录的值rninsert into historyop(historyid,operatefunc,operatetable,rn operatevalue,operatetype,operateby,operatedate,recordstatus,rn memo) values(@logkeyvalue,@opfunc,@optable,@opkeyvalue,rn @optype,@opby,getdate(),'1',@memo);rnreturn 1rnendrnGOrnrn<em>执行</em><em>存储过程</em>rndeclare @id int;rnexecute @id=exechistory 'insert into userlog values(''10000007'',''admin'',''0000000003'',''127.0.0.1'',getdate(),''0'',''1'','' 正常登陆'')','10000002','shareinfo','共享设置','0','0000000003',''rnprint @idrnrnrn页面代码rnimport java.io.IOException;rnimport java.sql.*;rnimport java.util.Date;rnrnpublic class Test rnrnpublic static void main(String[] args) throws IOException rnrnrnrn//String sql = "select max(id) as id from test";rnrn // 连接字符串,格式: "jdbc:公司名称:数据库驱动名称://数据库服务器ip:端口号;DatabaseName=数据库名称"rn String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=btv";rn String username = "sa";rn String password = "sa";rnrn try rnClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();rnConnection conn = DriverManager.getConnection(url, username, password);rn Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rn CallableStatement stmten=null;rn stmten=conn.prepareCall("call exechistory(?,?,?,?,?,?,?)");rn stmten.setString(1,"insert into userlog values('10000014','admin','0000000003','127.0.0.1',getdate(),'0','1','正常登陆')");rn stmten.setString(2,"10000002");rn stmten.setString(3,"shareinfo");rn stmten.setString(4,"共享设置");rn stmten.setString(5,"0");rn stmten.setString(6,"0000000003");rn stmten.setString(7,"");rn int i=stmten.executeUpdate();rn System.out.println("i========="+i);rnconn.close();rnstmt.close();rn catch (InstantiationException e) rn// TODO 自动生成 catch 块rne.printStackTrace();rn catch (IllegalAccessException e) rn// TODO 自动生成 catch 块rne.printStackTrace();rn catch (ClassNotFoundException e) rn// TODO 自动生成 catch 块rne.printStackTrace();rn catch (SQLException e) rn// TODO 自动生成 catch 块rne.printStackTrace();rnrnrnrn
GB2312 编 码 表下载
在编写程序,尤其是java程序时,我们经常会遇到乱码问题,这个编码表有利于学习编码,有利于理解乱码问题 相关下载链接:[url=//download.csdn.net/download/sqk1988/3312848?utm_source=bbsseo]//download.csdn.net/download/sqk1988/3312848?utm_source=bbsseo[/url]
1302d的使用,经典下载
1302的使用,很强,一看就明白。。。。。。。。。。。。。。。。。。。。 相关下载链接:[url=//download.csdn.net/download/wangguanjun1566824/3608721?utm_source=bbsseo]//download.csdn.net/download/wangguanjun1566824/3608721?utm_source=bbsseo[/url]
LuaTinker Lua C++封装下载
Lua C++封装 这个不要资源分 相关下载链接:[url=//download.csdn.net/download/bitgothic/4934285?utm_source=bbsseo]//download.csdn.net/download/bitgothic/4934285?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的