2024年10月createparameter参数(VB SQL 存储过程中使用参数作为工作表名)

 更新时间:2024-10-12

  ⑴createparameter参数(VBSQL存储过程中使用参数作为工作表名

  ⑵VBSQL存储过程中使用参数作为工作表名

  ⑶ALTERPROCEDUREGPDMnvarchar(),GPnvarchar(),BNamenvarchar()ASBEGINdeclaresqlnvarchar()--定义变量sql用于保存sql语句setsql=’insertinto’+BName+’(GPDM,GP)values(’+GPDM+’,’+GP+’)’exec(sql)--执行sql语句END

  ⑷delphi存储过程传递输入参数

  ⑸procedureTForm.ButtonClick(Sender:TObject);beginwithadoStoredprocdobeginclose;Parameters.Clear;ProcedureName:=’charu;’;Parameters.CreateParameter(’stno’,ftString,pdInput,,edit.text);Parameters.CreateParameter(’stname’,ftString,pdInput,,edit.text);Parameters.CreateParameter(’stsex’,ftString,pdInput,,edit.text);Parameters.CreateParameter(’stage’,ftfloat,pdInput,,strtofloat(edit.text));Parameters.CreateParameter(’stdept’,ftString,pdInput,,edit.text);ExecProc;end;end;end.

  ⑹ASP问题,请求高手帮助

  ⑺Cmd.parameters.appendCmd.createparameter(“record“,adInteger,adParamoutput)定义返回参数Cmd.parameters.appendCmd.createparameter(“keyword“,adVarChar,adParamInput,)输入参数

  ⑻ASP调用带参数存储过程的几种方式

  ⑼这也是最简单的方法,两个输入参数,无返回值:setconnection=server.createobject(“adodb.connection“)connection.opensomeDSNConnection.Execute“proamevarvalue,varvalue“’’将所有对象清为nothing,释放资源connection.closesetconnection=nothing.如果要返回Recordset集:setconnection=server.createobject(“adodb.connection“)connection.opensomeDSNsetrs=server.createobject(“adodb.recordset“)rs.Open“Execproamevarvalue,varvalue“,connection’’将所有对象清为nothing,释放资源rs.closeconnection.closesetrs=nothingsetconnection=nothing.以上两种方法都不能有返回值,(Recordset除外,如果要得到返回值,需要用mand的方法。首先说明,返回值有两种。一种是在存储过程中直接return一个值,就象C和VB的函数返回值那样;另一种是可以返回多个值,存储这些值的变量名称需要在调用参数中先行指定。这个例子要处理多种参数,输入参数,输出参数,返回记录集以及一个直接返回值(够全了吧?存储过程如下:usepubsGO--建立存储过程createproceduresp_PubsTest--定义三个参数变量,注意第三个,特别标记是用于输出au_lnamevarchar(),intIDint,intIDOutintOUTPUTASSELECTintIDOut=intID+SELECT*FROMauthorsWHEREau_lnameLIKEau_lname+’’%’’--直接返回一个值RETURNintID+调用该存储过程的asp程序如下:《%Language=VBScript%》《%DimCmdSPDimadoRSDimadCmdSPStoredProcDimadParamReturnValueDimadParaminputDimadParamOutputDimadIntegerDimiValDimoValDimadoFieldDimadVarChar‘这些值在VB中是预定义常量,可以直接调用,但在VBScript中没有预定义adCmdSPStoredProc=adParamReturnValue=adParaminput=adParamOutput=adInteger=adVarChar=iVal=oVal=’’建一个mand对象setCmdSP=Server.CreateObject(“ADODB.mand“)’’建立连结CmdSP.ActiveConnection=“Driver={SQLServer};server=(local);Uid=sa;Pwd=;Database=Pubs“’’定义mand对象调用名称CmdSP.mandText=“sp_PubsTest“’’设置mand调用类型是存储过程(adCmdSPStoredProc=)CmdSP.mandType=adCmdSPStoredProc’’往mand对象中加参数’’定义存储过程有直接返回值,并且是个整数,省缺值是CmdSP.Parameters.AppendCmdSP.CreateParameter(“RETURN_VALUE“,adInteger,adParamReturnValue,)’’定义一个字符型输入参数CmdSP.Parameters.AppendCmdSP.CreateParameter(“au_lname“,adVarChar,adParaminput,,“M“)’’定义一个整型输入参数CmdSP.Parameters.AppendCmdSP.CreateParameter(“intID“,adInteger,adParamInput,,iVal)’’定义一个整型输出参数CmdSP.Parameters.AppendCmdSP.CreateParameter(“intIDOut“,adInteger,adParamOutput,oVal)’’运行存储过程,并得到返回记录集SetadoRS=CmdSP.Execute’’把每个记录打印出来,其中的字段是虚拟的,可以不用管WhileNotadoRS.EOFforeachadoFieldinadoRS.FieldsResponse.WriteadoField.Name&“=“&adoField.Value&“《br》“&vbCRLFNextResponse.Write“《br》“adoRS.MoveNextWend’’打印两个输出值:Response.Write“《p》intIDOut=“&CmdSP.Parameters(“intIDOut“).Value&“《/p》“Response.Write“《p》Returnvalue=“&CmdSP.Parameters(“RETURN_VALUE“).Value&“《/p》“’’大扫除SetadoRS=nothingSetCmdSP.ActiveConnection=nothingSetCmdSP=nothing%》------------------------------------------------------------------------------------------------------------------------------------在asp中调用sqlserver的存储过程可以加快程序运行速度.调用存储过程的一般方法先假设在sqlserver中有一存储过程dt_users:CREATEPROCEDUREASselect*fromusersreturnGO第一种方法是不利用mand对象,直接用recordset对象setrs=server.createobject(“adodb.recordset“)sql=“execdt_users“rs.opensql,conn,,这样就可第二种方法是利用mand对象setm=server.createobject(“adodb.mand“)m.mantype=setm.activeconnection=connm.mandtext=“dbo.dt_users“setrs=server.createobject(“adodb.recordset“)rs.openm,,,.给存储过程传递参数如果存储过程中不用参数,而是单一的sql语句,还显示不出调用存储过程的优势!比如说一bbs的查询,可以按作者和主题查询!则可以建立存储过程如下:参数keyword为关键字,choose是选择查询的方法。CREATEPROCEDUREkeywordvarchar()=null,chooseint=nullasifchoose=select*frombbswherenamelikekeywordelseselect*frombbswheresubjectlikekeywordreturngo这样我们调用存储过程时只需将参数传递过去就行了,而省去在asp中来写一段程序用第一种方法:setrs=server.createobject(“adodb.recordset“)sql=“execdt_bbs’’“&keyword&“’’,“&choose&““rs.opensql,conn,,用第二种方法:setm=server.createobject(“adodb.mand“)m.mantype=m.Parameters.appendm.CreateParameter(“keyword“,adChar,adParamInput,,keyword)m.Parameters.appendm.CreateParameter(“keyword“,adInteger,adParamInput,,choose)setm.activeconnection=connm.mandtext=“dbo.dt_bbs“setrs=server.createobject(“adodb.recordset“)rs.CursorType=rs.openm,,,

  ⑽如何用VB调用带参数带输出的存储过程

  ⑾追加参数法调用存储过程追加参数通过CreateParameter方法,用来指定属性创建新的Parameter对象。具体语法如下:Setparameter=mand.CreateParameter(Name,Type,Direction,Size,Value)·Name可选,字符串,代表Parameter对象名称。·Type可选,长整型值,指定Parameter对象数据类型。·Direction可选,长整型值,指定Parameter对象类型。·Size可选,长整型值,指定参数值最大长度(以字符或字节数为单位。·Value可选,变体型,指定Parameter对象值。这种方法与上面一种方法的分别主要在于,追加参数的方法在向存储过程传递参数时,这种方法首先通过CreateParameter方法为存储过程创建参数,然后通过Append方法将创建的参数追加到Parameters集合中去。仍然以存储过程doc_Proame的调用为例,关键代码如下:DimmRstAsADODB.Recordset’Recordset对象表示的是来自基本表或命令执行结果的记录全集。DimprmAsADODB.Parameter’Parameter对象代表参数或与基于参数化查询或存储过程的mand对象相关联的参数。adoconn.ConnectionString=Adodc.ConnectionStringadoconn.OpenSetadom.ActiveConnection=adoconnadom.mandText=doc_Proameadom.mandType=adCmdStoredProcSetprm=adom.CreateParameter(parameter,adTinyInt,adParamInput,,)adom.Parameters.AppendprmSetprm=adom.CreateParameter(parameter,adInteger,adParamOutput)adom.Parameters.Appendprm

  ⑿ODBCSQLServerDriver]默认参数的使用无效求救!!!

  ⒀两个都要加上“”,即““““,因为前面的规定了是字符串类型

  ⒁delphi如何接住sql存储过程output传下来的参数

  ⒂譬如这样一个存储过程createprocedureproc_inserttea(iintoutput,idchar(),namechar(),titlechar(),gradechar())asinsertintoteacher(Tid,Tname,title,Tgrade)values(id,name,title,grade)selecti=idfromteacherwhereTid=id传出id这个参数,用ADOStoredProc去接收storeproc.ProcedureName:=’proc_inserttea’;storeproc.Parameters.CreateParameter(’i’,ftInteger,pdOutput,,null);storeproc.Parameters.CreateParameter(’id’,ftString,pdInput,,Edit.Text);storeproc.Parameters.CreateParameter(’name’,ftString,pdInput,,Edit.Text);storeproc.Parameters.CreateParameter(’title’,ftString,pdInput,,Edit.Text);storeproc.Parameters.CreateParameter(’grade’,ftString,pdInput,,Edit.Text);storeproc.ExecProc;TeaId:=storeproc.Parameters.ParamByName(’i’).Value;这是一种方法

  ⒃createparameter函数append到哪个对象上

  ⒄p.Appendcm.CreateParameter(“参数名称“,类型,方向,大小)参许参数值的类型的意义如下:名称值整数值功能adDBTimeStamp日期时间数据类型adDecimal十进制整数值adDouble双精度小数值adError系统错误信息AdGUID全域

  ⒅SQL中存储过程怎么使用

  ⒆createprocedureGetUsers()

  ⒇select*fromuser;

  ⒈callGetUsers();

  ⒉dropprocedureifexistsGetUsers;

  ⒊MySql支持IN(传递给存储过程),OUT(从存储过程传出)和INOUT(对存储过程传入和传出)类型的参数,存储过程的代码位于BEGIN和END语句内,它们是一系列SQL语句,用来检索值,然后保存到相应的变量(通过指定INTO关键字);

  ⒋下面的存储过程接受三个参数,分别用于获取用户表的最小,平均,最大分数,每个参数必须具有指定的类型,这里使用十进制值(decimal(,)),关键字OUT指出相应的参数用来从存储过程传出

  ⒌createprocedureGetScores(

  ⒍outminScoredecimal(,),

  ⒎outavgScoredecimal(,),

  ⒏outmaxScoredecimal(,)

  ⒐selectmin(score)intominScorefromuser;

  ⒑selectavg(score)intoavgScorefromuser;

  ⒒selectmax(score)intomaxScorefromuser;

  ⒓调用此存储过程,必须指定个变量名(所有MySql变量都必须以??开始),如下所示:

  ⒔callGetScores(minScore,avgScore,maxScore);

  ⒕该调用并没有任何输出,只是把调用的结果赋给了调用时传入的变量?minScore,avgScore,maxScore?,然后即可调用显示该变量的值:

  ⒖selectminScore,avgScore,maxScore;

  ⒗使用IN参数,输入一个用户id,返回该用户的名字:

  ⒘createprocedureGetNameByID(

  ⒙inuserIDint,

  ⒚outuserNamevarchar()

  ⒛selectnamefromuser

  whereid=userID

  intouserName;

  callGetNameByID(,userName);

  selectuserName;

  SQL存储过程使用介绍.csdn博客

您可能感兴趣的文章:

相关文章