当前位置:首页 » 存储配置 » 用于调用存储的对象是

用于调用存储的对象是

发布时间: 2023-04-19 01:50:41

⑴ VB中ADODB的Connection对象Execute方法调用sql存储过程方法

Set adoRs = adoConn.Execute("exec Book_SelectName 'sqlarg'")
改为
Set adoRs = adoConn.Execute("exec Book_SelectName '" & sqlArg & "'")

⑵ admin页面里用哪个作用域对象

在JSP页面开发中,通常需要使用四种作用域对象,分别是:

1. pageContext:页面作用衫顷银域,即当前JSP页面内有效,在整个页面范围内有效,只对当前页面其他的JSP或java代码可见,可通过JSP内置对象 `pageContext` 调用。

2. request:请求作用域,即当前请求内有效,在同一次请求中的所有页面和资源内或宴共享,可以通过HttpServletRequest对象调用,一般用于实现数据的传递和请求的共享。

3. session:会话作用域,即一个用户登录后与服务器建立的一次连接,在该连接的所有页面、资源内共享,可以通过HttpSession对象调用,一般用于存储用户信息和登录态等。

4. application:应用程序作用域,即整个Web应用内有效,在整个Web应用中共享,可以通过ServletContext对象调用,一般用于存储全局的配置参数和共享的数据。

在开发admin页面时,通常需要使用session作用域对象,以存储用户登录信息、权限管理等数据。具体使用哪个作用域对象还需要根据具体的业务需求和开发场景进行选择。如果仅是在当前页面内需要传递数据,则可选用pageContext或request作用域;如果需要在多个页面之间共享同一数据,则可选用session或application作用域乎态。

⑶ 在Access数据库系统的7种操作对象中,用来存储数据的操作对象是什么

是表。

该表由字段和记录组成。字段是表中的一列,每个字段表示某方面信息的度属性。字段有一个类型。

例如:name字符的字符类型和“age”字段的数字类型。字段的基本属性有:字段名、数据类型、字段大小、默认值等等。

记录是数据表中的一行,由一个或多个词段的值组成。记录是显示对象所有属性的完整信息,若容:001,张三,男,21岁,可作为记录使用。

(3)用于调用存储的对象是扩展阅读:

访问的主要对象是数据表、查询、报表、表单、宏、模块。

表——表是Access数据库的核心对象,主要用于存储数据,是创建其他五种对象的基础。数据表是同一类型数据的集合,以行和列的形式显示数据记录。

表由记录组成,记录由字段组成。它是数据存储在Access数据库中的位置,因此也称为数据库。一个数据库可以包含一个或多个数据表。

查询——根据预定义的约束从一个或多个表中检索符合条件的数据,并执行统计和分析。查询可以根据索引快速查找所需的记录,根据需求过滤记录,并可以连接多个表的字段形成一个新表。

表单——表单提供了一个方便的窗口来浏览、输入和更改数据。还可以创建显示相关表内容的子表单。一方面,表单可以使输入过程更加有趣,另一方面,它也保护了数据的完整性、准确性和安全性。

报表——报表用于以特定的方式显示检索到的数据或原始数据。报表不仅可以对数据进行分组,还可以支持各种数据的统计和计算。

宏——一个或多个命令的集合,每个命令执行特定的功能。通过组合这些命令,可以自动执行某些频繁重复或复杂的操作。Access的大部分功能都可以通过组合宏来完成。

模块——模块的功能类似于宏,但它定义的操作比宏更精细、更复杂,用户可以编写适合自己需要的程序。

⑷ java中如何调用数据库的存储过程

Java调用存储过程的方法是通过调用Connection的实例方法prepareCall,prepareCall方法返回CallableStatement对象用于填充存储过程的参数。prepareCall方法形参是调用存储过程的sql语句,此参数的语法格式如下:

{callstoredProcereName(parameter-list)}

其中,storedProcereName是存储过程名称,parameter-list是存储过程参数列表。

例如,存储过程名为usp_test,有两个输入参数a,b。则调用代码看起来如下所示:

=connection.prepareCall("{callusp_test(?,?)}");
callableStatement.setObject("a","value-1");
callableStatement.setObject("b","value-2");
callableStatement.execute();

⑸ 储存过程的类型有哪些

问题一:存储过程的种类 1系统存储过程以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。2本地存储过程用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就粗肢蚂是指本地存储过程。3临时存储过程分为两种存储过程:一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。4远程存储过程在SQL Server2005中,远程存储过程(Remote Stored Proceres)是位于远程服务器上的存储过程,通常可以使用分饥李布式查询和EXECUTE命令执行一个远程存储过程。5扩展存储过程扩展存储过程(Extended Stored Proceres)是用户岩埋可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。

问题二:sql,server中的存储过程有几种类型 》系统过程,用户过程;
》内部过程,扩展存贮过程(外部dll)

问题三:SQL Server2005中存储过程的类型有哪些 10分 存储过程是指封装了可重用代码的模块或例程。存储过程可以接受输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言 (DDL) 和数据操作语言 (DML) 语句,然后返回输出参数。在 SQL Server 2005 中,存储过程有两种类型:Transact-SQL 或 CLR。
Transact-SQL
Transact-SQL 存储过程是指保存的 Transact-SQL 语句 *** ,可以接受和返回用户提供的参数。例如,存储过程中可能包含根据客户端应用程序提供的信息在一个或多个表中插入新行所需的语句。存储过程也可能从数据库向客户端应用程序返回数据。
CLR
CLR 存储过程是指对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可以接受和返回用户提供的参数。它们在 .NET Framework 程序集中是作为类的公共静态方法实现的。

问题四:sql server存储过程的参数有哪些类型 int,char,nchar,nvarchar,varchar,text,date,time,datetime,bit,bool……

问题五:sql server存储过程的参数有哪些类型 SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。
返回值参数不是一个形参,而类似于编程中的返回值类型。它都是通过Return语句来返回的,而且在SQL Server中,必须返回INT型的数据,而且很显然,只能有一个返回值,因为RETURN语句其实是会终止SQL Server存储过程的。
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

ALTER PROCEDURE [dbo].[GetCustomers]
(@rowcount INT OUTPUT)
AS
SELECT [CustomerID]
,[panyName]
,[ContactName]
,[ContactTitle]
,[Address]
,[City]
,[Region]
,[PostalCode]
,[Country]
,[Phone]
,[Fax]
FROM [Northwind].[dbo].[Customers]
SET @rowcount=
rowcount

问题六:在SQL中存储过程的一般语法是什么? sql server存储过程语法
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。

在ASP中,一般通过mand对象调用存储过程,根据不同情况,本文也介绍其它调用方法。为了方便说明,根据存储过程的输入输出,作以下简单分类:
1. 只返回单一记录集的存储过程
假设有以下存储过程(本文的目的不在于讲述T-SQL语法,所以存储过程只给出代码,不作说明):
/*SP1*/
CREATE PROCEDURE dbo.getUserList
as
set nocount on
begin
select * from dbo.[userinfo]
end
go
以上存储过程取得userinfo表中的所有记录,返回一个记录集。通过mand对象调用该存储过程的ASP代码如下:

'**通过mand对象调用存储过程**
DIM Mym,MyRst
Set Mym = Server.CreateObject(ADODB.mand)
Mym.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
Mym.mandText = getUserList '指定存储过程名
Mym.mandType = 4 '表明这是一个存储过程
Mym.Prepared = true '要求将SQL命令先行编译
Set MyRst = Mym.Execute
Set Mym = Nothing
存储哗程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。
在以上代码中,mandType属性表明请求的类型,取值及说明如下:
-1 表明mandText参数的类型无法确定
1 表明mandText是一般的命令类型
2 表明mandText参数是一个存在的表名称
4 表明mandText参数是一个存储过程的名称

还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:
'**通过Connection对象调用存储过程**
DIM MyConn,MyRst
Set MyConn = Server.CreateObject(&qu......>>

问题七:商品在储存过程中的变化形式有哪些 在商品交换发展的历史过程中,随着商品交换从偶然的行为逐步扩大成为经济生活中的重要环节,商品的价值形式也逐步发展。从简单的、个别的或偶然的价值形式,发展到总和的或扩大的价值形式,再发展到一般价值形式,最后发展到货币形式。 商品是使用价值和价值的统一。商品的使用价值是实实在在的,是看得见、摸得着的。米、布、房屋、自行车等等各种商品体的自然形态,体现着各种不同的使用价值,这是一目了然的。商品的价值实体是物化在商品中的一般人类劳动,与使用价值不同,商品的这种价值实体是看不见、摸不着的。即使把一件商品拆得粉碎,也找不到价值的任何影迹。这是因为,价值纯粹是商品的社会属性。价值实体虽然是已经消耗的劳动力即劳动,但并不是任何生产物质产品的劳动都会形成价值。只有当劳动产品成了供交换即供他人使用的商品,物化在商品中的劳动,才需要互相比较,才需要撇开其特殊的有用性质而把它看作无差别的一般人类劳动即抽象劳动。劳动产品转化为商品和消耗在产品生产中的劳动转化为价值,都是特定的社会关系的表现。价值既然纯粹是商品的社会属性,从商品体的自然形态中,当然无法找到它的影踪,而只有从价值关系即商品与商品交换的社会关系中,才能探索它的存在。 当两种商品互相交换,例如商品A与商品B相交换的时候,A、B两种商品就发生了等价关系。在商品交换中,任何一方都不愿吃亏。尽管在每个个别的交换行为中,由于各种各样的原因,交换的一方吃亏、另一方占便宜的事会经常发生;但从整体看,从长期趋势看,商品交换必然是价值量相等的交换。例如,1件上衣同20码麻布相交换,是因为 1件上衣和20码麻布,在生产中耗费了等量的劳动,具有等量的价值。在这一商品交换关系中,20码麻布是 1件上衣的交换价值。上衣的价值从上衣本身虽然看不出来,但它一旦同麻布交换,与麻布发生了价值关系,上衣的价值就可以从麻布上面表现了出来。商品的价值关系表明,价值是交换价值的内容,交换价值是商品价值的形式。在人类历史中,随着商品交换的发展,商品的价值形式也随之变化和发展。

问题八:SQL的存储过程 语法格式是什么? ---判断是否存在存储过程
if exists( select name from sysobjects where name='proc_name' )
drop proc proc_name
go
---创建存储过程
create proc proc_name
@parameter varchar(20),
@parameter2 int
as
主体语句
go
if exists:判断是否存在
drop proc : 删除存储过程,后面接存储过程名称,名称不用引起来
create proc: 创建存储过程,后面接存储过程名称,名称不用引起来
@parameter varchar(20): 参数,在执行存储过程的时候需要传入的参数,这里是字符类型,如果有多个参数的话,除了最后一个参数,其他的参数后面需要加逗号(英文状态),如果不需要传入,直接去掉就行了。
create proc proc_name
as
主体语句
go
as : 关键字
主体语句:就是你要做的操作的语句,和平时的完全一样,存储过程就相当把平时的sql语句在外面加了个壳的感觉。比如这里你需要查询一个表 select * from tableName1 那么这里就这样写
create proc proc_name
as
select * from tableName1
go
传参数:
create proc proc_name
@parameter varchar(20)
as
select * from tableName where [email protected]
go
执行的时候这样
exec proc_name '小明'
其他的操作都是这样的。
希望对你有帮助

问题九:外存主要有哪些类型 外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外储存器有硬盘、软盘、光盘、U盘等。

问题十:存储过程传的参数是list,应该用什么类型接受 看下这个吧。
bbs.csdn/topics/390094413
有代码

⑹ 在vb中调用sql存储过程

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

请问在vb中如何调用sql存储过程?谢谢啦!

解析:

你可以使用 ADODB.Command 来调用存储过程,如:

Dim adoComm As Object

' 创建一个对象,我镇亮们用来调用存储过程

Set adoComm = CreateObject("ADODB.Command")

With adoComm

'缓旅前 设置连接,假设 adoConn 为已经连接的 ADODB.Connection 对象

.ActiveConnection = adoConn

' 类型为存储过程,扰清adCmdStoredProc = 4

.CommandType = 4

' 存储过程名称

.CommandText = "你的存储过程名称"

' 设置输入参数

.Parameters.Item("@输入参数").Value = "值"

' 执行存储过程

.Execute

If .Parameters.Item("@返回参数名称").Value = True Then

Else

End If

End With

' 释放对象

Set adoComm = Nothing

⑺ 如何在VBA中调用存储过程

方法有几种

1、

SetConn=Server.CreateObject("ADODB.Connection")
Conn.openstrConn
iferr.number<>0then
response.Write"数据库链接失败。"'&err.Description
response.End
endIf
setRs=server.CreateObject("adodb.recordset")
'调用存储过程:[dbo].[Usp_GetUserMenu]
strsql="[dbo].[Usp_GetUserMenu]@UserID='"&Session(g_SessionName&"_UserID")&"'"
'这句话是关键,CursorLocation意思是游标本地化
rs.CursorLocation=3
Rs.openstrsql,conn,1,1
iferr.number<>0Then
conn.close
setconn=nothing
endif
fori=1tors.RecordCount
iMenuType=rs("MenuType")
......
rs.MoveNext
next
rs.Close
setrs=nothing
conn.close
setconn=nothing

2. 使用adobd.Command对象

VB6.0调用存储过程的例子

(说明:以下代码摘自微软的MSDN,经过测试没问题。使用该方法的前提条件是必须知道将要使用的参数化命令的详细情况。)

打开Form1窗体,Copy以下的代码到窗体中,该段代码将测试存储过程ADOTestRPE的返回值、输入参数及输出参数,测试的过程中,可能需要修改链接字符串。

SubCreateParms()
DimADOCmdAsNewADODB.Command
DimADOPrmAsNewADODB.Parameter
DimADOConAsADODB.Connection
DimADORsAsADODB.Recordset
DimsParmNameAsString
DimstrConnectAsString
DimrStrAsString

OnErrorGoToErrHandler

strConnect="driver={SQLServer};server=(local);uid=sa;pwd=;database=pubs"

SetADOCon=NewADODB.Connection
WithADOCon
.Provider="MSDASQL"
.CursorLocation=adUseServer'MustuseServersidecursor.
.ConnectionString=strConnect
.Open
EndWith

SetADOCmd.ActiveConnection=ADOCon
WithADOCmd
.CommandType=adCmdStoredProc
.CommandText="ADOTestRPE"
EndWith

'.
sParmName="Return"
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamReturnValue,,0)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=-1

'
'parameter.
sParmName="Output"
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamOutput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sP

armName).Value=999

'Parameter2
sParmName="R1Num"'.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=1

'Parameter3
sParmName="P1Num"'.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=0

'Parameter4
sParmName="E1Num"'
'1.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=0

'Parameter5
sParmName="R2Num"'.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=2

'Parameter6
sParmName="P2Num"'.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=0

'Parameter7
sParmName="E2Num"'
'2.
SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
adParamInput)
ADOCmd.Parameters.AppendADOPrm
ADOCmd.Parameters(sParmName).Value=0

SetADORs=ADOCmd.Execute

DoWhile(NotADORsIsNothing)
IfADORs.State=adStateClosedThenExitDo
WhileNotADORs.EOF
Fori=0ToADORs.Fields.Count-1
rStr=rStr&":"&ADORs(i)
Nexti
Debug.PrintMid(rStr,3,Len(rStr))
ADORs.MoveNext
rStr=""
Wend
Debug.Print"----------------------"
SetADORs=ADORs.NextRecordset
Loop

Debug.Print"Return:"&ADOCmd.Parameters("Return").Value
Debug.Print"Output:"&ADOCmd.Parameters("Output").Value

GoToShutdown

ErrHandler:
CallErrHandler(ADOCon)
ResumeNext

Shutdown:
SetADOCmd=Nothing
SetADOPrm=Nothing
SetADORs=Nothing
SetADOCon=Nothing
EndSub

PrivateSubCommand1_Click()
CallCreateParms
EndSub

SubErrHandler(objConAsObject)
DimADOErrAsADODB.Error
DimstrErrorAsString

ForEachADOErrInobjCon.Errors
strError="Error#"&ADOErr.Number&vbCrLf&ADOErr.Description_
&vbCr&_
"(Source:"&ADOErr.Source&")"&vbCr&_
"(SQLState:"&ADOErr.SQLState&")"&vbCr&_
"(NativeError:"&ADOErr.NativeError&")"&vbCr


IfADOErr.HelpFile=""Then
strError=strError&"NoHelpfileavailable"&vbCr&vbCr
Else
strError=strError&"(HelpFile:"&ADOErr.HelpFile&")"_
&vbCr&"(HelpContext:"&ADOErr.HelpContext&")"&_
vbCr&vbCr
EndIf

Debug.PrintstrError
Next

objCon.Errors.Clear
EndSub

⑻ 怎样在项目中使用存储过程

如何用JAVA调用存储过程

CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。问号将用作参数的占位符。
在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并不是语法的组成部份。
{call 过程名[(?, ?, ...)]}
返回结果参数的过程的语法为:
{? = call 过程名[(?, ?, ...)]}
不带参数的已储存过程的语法类似:
{call 过程名}
通常,创建 CallableStatement 对象的人应当知道所用的 DBMS 是支持已储存过程的,并且知道这些过程都是些什么。然而,如果需要检查,多种DatabaseMetaData 方法都可以提供这样的信息。例如,如果 DBMS 支持已储存过程的调用,则supportsStoredProceres 方法将返回 true,而getProceres 方法将返回对已储存过程的描述。CallableStatement 继承 Statement 的方法(它们用于处理一般的 SQL 语句),还继承了 PreparedStatement 的方法(它们用于处理 IN 参)。
CallableStatement 中定义的所有方法都用于处理 OUT 参数或 INOUT 参数的输出部分:注册 OUT 参数的 JDBC 类型(一般 SQL 类型)、从这些参数中检索结果,或者检查所返回的值是否为 JDBC NULL。
1、创建 CallableStatement 对象
CallableStatement 对象是用 Connection 方法 prepareCall 创建的。下例创建 CallableStatement 的实例,其中含有对已储存过程 getTestData 调用。该过程有两个变量,但不含结果参数:
CallableStatement cstmt = con.prepareCall("{call getTestData(?, ?)}");
其中?占位符为IN、OUT还是INOUT参数,取决于已储存过程getTestData。
2、IN和OUT参数
将IN参数传给 CallableStatement 对象是通过 setXXX 方法完成的。该方法继承自 PreparedStatement。所传入参数的类型决定了所用的setXXX方法(例如,用 setFloat 来传入 float 值等)。
如果已储存过程返回 OUT 参数,则在执行 CallableStatement 对象以前必须先注册每个 OUT 参数的 JDBC 类型(这是必需的,因为某些 DBMS 要求 JDBC 类型)。注册 JDBC 类型是用 registerOutParameter 方法来完成的。语句执行完后,CallableStatement 的 getXXX 方法将取回参数值。正确的 getXXX 方法是为各参数所注册的 JDBC 类型所对应的 Java 类型。换言之, registerOutParameter 使用的是 JDBC 类型(因此它与数据库返回的 JDBC 类型匹配),而 getXXX 将之转换为 Java 类型。
作为示例,下述代码先注册 OUT 参数,执行由 cstmt 所调用的已储存过程,然后检索在 OUT 参数中返回的值。方法 getByte 从第一个 OUT 参数中取出一个 Java 字节,而 getBigDecimal 从第二个 OUT 参数中取出一个 BigDecimal 对象(小数点后面带三位数):
CallableStatement cstmt = con.prepareCall("{call getTestData(?, ?)}");
cstmt.registerOutParameter(1, java.sql.Types.TINYINT);
cstmt.registerOutParameter(2, java.sql.Types.DECIMAL, 3);
cstmt.executeQuery();
byte x = cstmt.getByte(1);
java.math.BigDecimal n = cstmt.getBigDecimal(2, 3);
CallableStatement 与 ResultSet 不同,它不提供用增量方式检索大 OUT 值的特殊机制。

3、INOUT参数
既支持输入又接受输出的参数(INOUT 参数)除了调用 registerOutParameter 方法外,还要求调用适当的 setXXX 方法(该方法是从 PreparedStatement 继承来的)。setXXX 方法将参数值设置为输入参数,而 registerOutParameter 方法将它的 JDBC 类型注册为输出参数。setXXX 方法提供一个 Java 值,而驱动程序先把这个值转换为 JDBC 值,然后将它送到数据库中。这种 IN 值的 JDBC 类型和提供给 registerOutParameter 方法的 JDBC 类型应该相同。然后,要检索输出值,就要用对应的 getXXX 方法。例如,Java 类型为byte 的参数应该使用方法 setByte 来赋输入值。应该给registerOutParameter 提供类型为 TINYINT 的 JDBC 类型,同时应使用 getByte 来检索输出值。
下例假设有一个已储存过程 reviseTotal,其唯一参数是 INOUT 参数。方法setByte 把此参数设为 25,驱动程序将把它作为 JDBC TINYINT 类型送到数据库中。接着,registerOutParameter 将该参数注册为 JDBC TINYINT。执行完该已储存过程后,将返回一个新的 JDBC TINYINT 值。方法 getByte 将把这个新值作为 Java byte 类型检索。
CallableStatement cstmt = con.prepareCall("{call reviseTotal(?)}");
cstmt.setByte(1, 25);
cstmt.registerOutParameter(1, java.sql.Types.TINYINT);
cstmt.executeUpdate();
byte x = cstmt.getByte(1);
4、先检索结果,再检索 OUT 参数
由于某些 DBMS 的限制,为了实现最大的可移植性,建议先检索由执行CallableStatement 对象所产生的结果,然后再用 CallableStatement.getXXX 方法来检索 OUT 参数。如果 CallableStatement 对象返回多个 ResultSet 对象(通过调用 execute 方法),在检索 OUT 参数前应先检索所有的结果。这种情况下,为确保对所有的结果都进行了访问,必须对 Statement 方法 getResultSet、getUpdateCount 和getMoreResults 进行调用,直到不再有结果为止。
检索完所有的结果后,就可用 CallableStatement.getXXX 方法来检索 OUT 参数中的值。
5、检索作为OUT参数的NULL值
返回到 OUT 参数中的值可能会是JDBC NULL。当出现这种情形时,将对 JDBC NULL 值进行转换以使 getXXX 方法所返回的值为 null、0 或 false,这取决于getXXX 方法类型。对于 ResultSet 对象,要知道0或false是否源于JDBCNULL的唯一方法,是用方法wasNull进行检测。如果 getXXX 方法读取的最后一个值是 JDBC NULL,则该方法返回 true,否则返回 flase。

⑼ ASP中的七大对象是什么

Application对象

Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
Application的属性:
方法如下:
Application对象没有内置的属性,但是我们可以自行创建其属性。
<% Application("属性名")=值 %>
其实大部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:
<% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。
<%
For Each item IN Application.Contents
Response.write("<br>"&item&Application.Contents(item))
next
%>
Application的方法:
Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。如:
<%
Application.Lock
Application("visitor_num")=Application("visitor_num")+1
Application.Unlock
%>
Application的事件:
1、Application_OnStart()
当事件应用程序启动时触发。
2、Application_OnEnd()
此事件应用程序结束时触发。
这两个事件过程都是必须定义在Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:
Sub Application_OnStart
Application("tt18_ConnectionString") = "driver={SQL
Server};server=jeff;uid=sa;pwd=;database=test"
End Sub
一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如:
<%
dim Array()
Array=Application("array")
for i = 0 to ubound(array)
Response.write Array(i)
next i
%>
同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回Application对象。如:
<%
dim Array()
Array=Application("array")
Array(0)="jeff"
Array(1)="zhu"
Application.lock
Application("array")=Array
Application.unlock
%>

ObjectContext对象

该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。

事件

ObjectContext.OnTransactionAbort

由放弃的事务处理事件激发,在脚本完成处理后发生。

ObjectContext.OnTransactionCommit

由成功的事务处理事件激发,在脚本完成处理后发生。

方法

ObjectContext.SetAbort

显式的放弃一次事务处理。

ObjectContext.SetComplete

覆盖前面任何调用ObjectContext.SetAbort方法的调用。
Request对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。

集合

Request.ClientCertificate(key[SubField])

所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:

Subject
证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。

Issuer
证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所有的子域后缀一起使用。

VadidFrom
证书发行的日期。使用VBScript格式。

ValidUntil
该证书不在有效的时间。

SerialNumber
包含该证书的序列号。

Certificate
包含整个证书内容的二进制流,使用ASN.1格式。

对于SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或IssuerL)

C
起源国家。

O
公司或组织名称。

OU
组织单元。

CN
用户的常规名称。

L
局部。

S
州(或省)。

T
个人或公司的标题。

GN
给定名称。

I
初始。

当文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:

ceCertPresent
指明客户证书是否存在,其值为TRUE或FALSE。

ceUnrecongnizedIssure
指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。

Request.Cookies(Cookie[(key).Attribute])

Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或FALSE。

Request.Form(Parameter)[(Index).Count]

填写在HTML的表单中所有的数据的集合。Parameter是在HTML表单中某一元素的名称。当某一参数具有不止一个值(比如,当在<SELECT>中使用MULTIPLE属性时)时,使用Index。当某一参数具有多值时,Count指明多值个数。

Request.QueryString(Varible)[(Index).Count]

查询字符串的所有值的集合。Varible是在查询字符串某一变量的名称。当某一变量具有多于一个值时,使用Index。当某一参数具有多值时,Count指明值的个数。

Request.ServerVaribles(Server Environment Variable)

环境变量的集合。允许读取HTTP头。你可以通过使用HTTP_前缀来读取任何头信息。比如,HTTP_USER_AGENT接受客户代理HTTP头(浏览器类型)。除此外,你可以使用下表所示的变量获得任何环境信息。

ALL_HTTP
客户端发送的所有HTTP标头,他的结果都有前缀HTTP_。

ALL_RAW
客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_

APPL_MD_PATH
应用程序的元数据库路径。

APPL_PHYSICAL_PATH
与应用程序元数据库路径相应的物理路径。

AUTH_PASSWORD
当使用基本验证模式时,客户在密码对话框中输入的密码。

AUTH_TYPE
这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。

AUTH_USER
代验证的用户名。

CERT_COOKIE
唯一的客户证书ID号。

CERT_FLAG
客户证书标志,如有客户端证书,则bit0为0。如果客户端证书验证无效,bit1被设置为1。

CERT_ISSUER
用户证书中的发行者字段。

CERT_KEYSIZE
安全套接字层连接关键字的位数,如128。

CERT_SECRETKEYSIZE
服务器验证私人关键字的位数。如1024。

CERT_SERIALNUMBER
客户证书的序列号字段。

CERT_SERVER_ISSUER
服务器证书的发行者字段

CERT_SERVER_SUBJECT
服务器证书的主题字段。

CERT_SUBJECT
客户端证书的主题字段。

CONTENT_LENGTH
客户端发出内容的长度。

CONTENT_TYPE
客户发送的form内容或HTTP PUT的数据类型。

GATEWAY_INTERFACE
服务器使用的网关界面。

HTTPS
如果请求穿过安全通道(SSL),则返回ON。如果请求来自非安全通道,则返回OFF。

HTTPS_KEYSIZE
安全套接字层连接关键字的位数,如128。

HTTPS_SECRETKEYSIZE
服务器验证私人关键字的位数。如1024。

HTTPS_SERVER_ISSUER
服务器证书的发行者字段。

HTTPS_SERVER_SUBJECT
服务器证书的主题字段。

INSTANCE_ID
IIS实例的ID号。

INSTANCE_META_PATH
响应请求的IIS实例的元数据库路径。

LOCAL_ADDR
返回接受请求的服务器地址

LOGON_USER
用户登录Windows NT的帐号

PATH_INFO
客户端提供的路径信息。

PATH_TRANSLATED
通过由虚拟至物理的映射后得到的路径。

QUERY_STRING
查询字符串内容。

REMOTE_ADDR
发出请求的远程主机的IP地址。

REMOTE_HOST
发出请求的远程主机名称。

REQUEST_METHOD
提出请求的方法。比如GET、HEAD、POST等等。

SCRIPT_NAME
执行脚本的名称。

SERVER_NAME
服务器的主机名、DNS地址或IP地址。

SERVER_PORT
接受请求的服务器端口号。

SERVER_PORT_SECURE
如果接受请求的服务器端口为安全端口时,则为1,否则为0。

SERVER_PROTOCOL
服务器使用的协议的名称和版本。

SERVER_SOFTWARE
应答请求并运行网关的服务器软件的名称和版本。

URL
提供URL的基本部分。

方法

Request.BinaryRead(Count)

接收一个HTML表单的未经过处理的内容。当调用此方法时,Count指明要接收多少字节。在调用此方法后,Count指明实际上接收到多少个字节。

属性

Request.TotalBytes

查询体的长度,以字节为单位

Response对象

Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。

1、Buffer属性
该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
<%Response.Buffer=True%>
<html>
<Head>
<title>Buffer示例</title>
</head>
<body>
<%
for i=1 to 500
response.write(i & "<br>")
next
%>
</body>
</html>
这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。

2、Expires属性
该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:
<%Response.Expires=0%>
通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。

3、Write方法
该方法把数据发送到客户端浏览器,如:
<%Response.write "Hello,world!"%>

4、Redirect方法
该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<form aciton="formjump.asp" method="post">
<select name="wheretogo">
<option selected value="fun">Fun</option>
<option value="news">News</option>
<option value="sample">Sample</option>
</select>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
以上是提交的表单,下面是处理表单的文件formjump.asp:
<%response.buff=true%>
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<%
thisurl="http://www.tinyu.com/";
where=Request.form("wheretogo")
Select Case where
case "fun"
response.redirect thisurl & "/fun/default.asp"
case "news"
response.redirect thisurl & "/news/default.asp"
case "sample"
response.redirect thisurl & "/sample/default.asp"
End Select
%>
</body>
<html>
这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:
在文件的开始<@ Language=..>后写:
Response.Buffer=True
在结尾定:
Response.Flush
这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。

5、End方法
该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:
<%
Response.buffer=true
On error resume next
Err.clear
if Err.number<>0 then
Response.Clear
Response.End
end if
%>

Server 对象:

Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。

语法

Server.property|method

属性

ScriptTimeout:
ScriptTimeout 属性指定脚本在结束前最大可运行多长时间。 当处理服务器组件时,超时限制将不再生效。

语法 Server.ScriptTimeout = NumSeconds

参数 NumSeconds
指定脚本在被服务器结束前最大可运行的秒数。默认值为 90 秒。

注释
通过使用元数据库中的AspScriptTimeout属性可以为 Web 服务或 Web 服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设置为10,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。但如果NumSeconds设置为100,则脚本在100秒后超时。

关于使用元数据库的详细信息,参阅 关于元数据库。

示例 以下示例中,如果服务器处理脚本超过 100 秒,将使之超时。
<% Server.ScriptTimeout = 100 %>
以下示例获取 ScriptTimeout 属性当前值,并将其存储在变量 TimeOut 中。
<% TimeOut = Server.ScriptTimeout %>

方法

CreateObject
CreateObject 方法创建服务器组件的实例。如果该组件执行了 OnStartPage 和 OnEndPage 方法,则此时就会调用 OnStartPage 方法。有关服务器组件的详细信息,请参阅 可安装的 ASP 组件 。

语法 Server.CreateObject( progID )

参数 progID 指定要创建的对象的类型。progID 的格式为 [Vendor.] component[.Version]。

注释 默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。要创建有会话或应用程序作用域的对象,可以使用 <OBJECT> 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。
例如,在如下所示的脚本中,当 Session 对象被破坏,即当对话超时时或 Abandon 方法被调用时,存储在会话变量中的对象也将被破坏。
<% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>
可以通过将变量设置为 Nothing 或新的值来破坏对象,如下所示。第一个例子释放 ad 对象,第二个例子用字串代替 ad 。
<% Session ("ad") = Nothing %>
<% Session ("ad") = " Other Valum " %>
不能创建与内建对象同名的对象实例。 例如,下列脚本将返回错误。
<% Set Response = Server.CreateObject("Response") %>

示例 <% Set MyAd = Server.CreateObject("MSWC.AdRotator") %>
上面的例子创建一个名为 MyAd 的 MSWC.AdRotator 服务器组件,MSWC.AdRotator 组件可用于在 Web 页上的自动轮换广告。
关于服务器组件的详细信息, 请参阅 Creating Components for ASP.

HTMLEncode HTMLEncode方法对指定的字符串应用 HTML 编码。

语法 Server.HTMLEncode( string )

参数 string 指定要编码的字符串。

示例脚本 <%= Server.HTMLEncode("The paragraph tag: <P>") %>

输出 The paragraph tag: <P>

注意 以上输出将被 Web 浏览器显示为The paragraph tag: <P>如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML。

MapPath
MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

语法
Server.MapPath( Path )

参数
Path
指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (\) 开始,则 MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。
注释
MapPath 方法不支持相对路径语法 (.) 或 (..)。例如,下列相对路径 ../MyDir/MyFile.txt 返回一个错误。

MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。

因为 MapPath 方法只映射路径而不管指定的目录是否存在,所以,您可以先用 MapPath 方法映射物理目录结构的路径,然后将其传递给在服务器上创建指定目录或文件的组件。

示例
对于下列示例,文件data.txt和包含下列脚本的test.asp文件都位于目录C:\Inetpub\Wwwroot\Script下。C:\Inetpub\Wwwroot目录被设置为服务器的宿主目录。

下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>

输出
c:\inetpub\wwwroot\script\test.asp<BR>

由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:\Inetpub\Wwwroot\Script。脚本
<%= server.mappath("data.txt")%><BR>
<%= server.mappath("script/data.txt")%><BR>

输出
c:\inetpub\wwwroot\script\data.txt<BR>
c:\inetpub\wwwroot\script\script\data.txt<BR>

接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本
<%= server.mappath("/script/data.txt")%><BR>
<%= server.mappath("\script")%><BR>

输出
c:\inetpub\script\data.txt<BR>
c:\inetpub\script<BR>

下列示例演示如何使用正斜杠 (/) 或反斜杠 (\) 返回宿主目录的物理路径。脚本
<%= server.mappath("/")%><BR>
<%= server.mappath("\")%><BR>

输出
c:\inetpub\wwwroot<BR>
c:\inetpub\wwwroot<BR>

URLEncode
URLEncode 方法将 URL 编码规则,包括转义字符,应用到指定的字符串。

语法
Server.URLEncode( string )
参数
String 指定要编码的字符串。
示例
脚本 <%Response.Write(Server.URLEncode("http://www.tinyu.com";)) %>

输出 http%3A%2F%2Fwww%2Etinyu%2Ecom

Session对象

Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

1、SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。

2、TimeOut属性
该属性用来定义用户Session对象的时限。如果用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。

3、Abandon方法
该方法是Session对象的唯一方法,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。如: <% Session.Abandon %>
4、Session_OnStart和Session_OnEnd事件
和Application一样,当对象的例程每一次启动时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。同理,这个事件也必须定在Global.asa文件中。
当调用Session.Abandon方法时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。Session变量与特定的用户相联系,针对某一个用户赋值的Session变量是和其他用户的Session变量完全独立的,不会存在相互影响。
Session应用一列:
与Application一样,一个被定义为Session类型的数组只能将整个数组作为一个对象,用户不能直接改变Session数组中某个元素的值。为了创建一个Session数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个Session数组。如:
<%
dim array()
array=array("李","明","男")
Session("info")=array
Response.write Session("info")(0) &"-"
Response.write Session("info")(1) &"-"
Response.write Session("info")(2) &"<br>"
%>
<hr>
<%
array(0)="天"
array(1)="宇"
array(2)="男"
Session("info")=array
Response.write Session("info")(0) & "-"
Response.write Session("info")(1) & "-"
Response.write Session("info")(2) & "<br>"
%>

热点内容
疯狂java视频 发布:2025-02-12 19:38:17 浏览:149
flash免费上传网站 发布:2025-02-12 19:14:03 浏览:190
买脚本一般都在哪里 发布:2025-02-12 19:08:07 浏览:823
恋舞刷分脚本se下载 发布:2025-02-12 18:56:53 浏览:8
c语言大小写转换程序 发布:2025-02-12 18:55:23 浏览:524
三星耳机坏了怎么配置 发布:2025-02-12 18:54:46 浏览:975
简易编程语言 发布:2025-02-12 18:48:07 浏览:523
咋上传视频 发布:2025-02-12 18:45:50 浏览:288
python的包机制 发布:2025-02-12 18:45:49 浏览:448
sqlserver网络实用工具 发布:2025-02-12 18:38:56 浏览:767