SQLServer中怎样调用URL传参数 请问各位高手,SQLServer的存储过程中怎样调用URL地址,传参数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以通过引用 xmlhttp 对象实现 参考我写的示例, 下面的示例实现存/取application值''整个实现过程如下/*============== 创建一个名为 application_process.asp ========*/''文件内容如下<%Application.Locka=Request("tbname")+"_"+Request("id")if Request("value")="" then response.write application(a)else b=Request("tbname")+","+Request("id")+","+Request("value") Application(a) = bend ifApplication.Unlock%>/*============== 在数据库中创建如下存储过程,完成Application的保存或者读取 ========*/GOcreate procedure p_SaveApplication@url nvarchar(1000), --url地址@tbname sysname, --表名@id int, --id值@value nvarchar(1000) out --值,如果指定为null,则获取application的值asdeclare @err int,@src varchar(255),@desc varchar(255)declare @obj int,@urlstr nvarchar(4000),@function varchar(4)select @function=CASE WHEN @value IS NULL THEN 'GET' ELSE 'POST' END, @urlstr=@url +N'?tbname='+rtrim(@tbname) +N'&id='+rtrim(@id) +CASE WHEN @value IS NULL THEN '' ELSE N'&value='+rtrim(@value) ENDexec @err=sp_oacreate 'MICROSOFT.XMLHTTP',@obj outif @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,@function,@urlstr,0if @err<>0 goto lberrexec @err=sp_oamethod @obj,'send',null,''if @err<>0 goto lberrif @function='GET'begin exec @err=sp_oagetproperty @obj,'ResponseText',@value output if @err<>0 goto lberrendexec @err=sp_oadestroy @objreturnlberr: exec sp_oageterrorinfo 0,@src out,@desc out select cast(@err as varbinary(4)) as 错误号 ,@src as 错误源,@desc as 错误描述go--调用(保存),网址是iis网址,application_process.asp对应第一步中创建的application变量处理asp页exec p_SaveApplication 'http://localhost/application_process.asp','pubs',1,50--调用(读取)declare @value varchar(100)exec p_SaveApplication 'http://localhost/application_process.asp','pubs',1,@value outselect 结果=@value--结果:pubs,1,50 我偏向于使用XMLDOM而不用XMLHTTP。呵呵,因为用着方便,如果不取返回值,目的仅是传一次数据给目标URL,只用个LOAD。如果要求得到页面返回结果,一般我会在URL页返回XML文档。 [求助] 如何循环一张表的每行,并将每个字段里的数据拿出来做另一条sql语句的参数? 一个比较傻的问题? SQL出错?? sqlserver 在‘计算列规范’的公式中,输入以下东西会报错,为什么, 求两个表连接的Sql语句 ! 邹健请进!!! 关于两个表的联合查询问题 ■■■■■这样的条件统计SQL语句该怎么写,条件比较复杂!! 无法启动了 ===============过来看看=============== SQL Server 2000 的序列号??? 求一sql语句 SQL 2005 Express 怎么没有企业管理器?请教
''文件内容如下<%
Application.Lock
a=Request("tbname")+"_"+Request("id")
if Request("value")="" then
response.write application(a)
else
b=Request("tbname")+","+Request("id")+","+Request("value")
Application(a) = b
end if
Application.Unlock
%>/*============== 在数据库中创建如下存储过程,完成Application的保存或者读取 ========*/
GO
create procedure p_SaveApplication
@url nvarchar(1000), --url地址
@tbname sysname, --表名
@id int, --id值
@value nvarchar(1000) out --值,如果指定为null,则获取application的值
as
declare @err int,@src varchar(255),@desc varchar(255)
declare @obj int,@urlstr nvarchar(4000),@function varchar(4)select @function=CASE WHEN @value IS NULL THEN 'GET' ELSE 'POST' END,
@urlstr=@url
+N'?tbname='+rtrim(@tbname)
+N'&id='+rtrim(@id)
+CASE WHEN @value IS NULL THEN '' ELSE N'&value='+rtrim(@value) ENDexec @err=sp_oacreate 'MICROSOFT.XMLHTTP',@obj out
if @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,@function,@urlstr,0
if @err<>0 goto lberrexec @err=sp_oamethod @obj,'send',null,''
if @err<>0 goto lberrif @function='GET'
begin
exec @err=sp_oagetproperty @obj,'ResponseText',@value output
if @err<>0 goto lberr
endexec @err=sp_oadestroy @obj
returnlberr:
exec sp_oageterrorinfo 0,@src out,@desc out
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
go
--调用(保存),网址是iis网址,application_process.asp对应第一步中创建的application变量处理asp页
exec p_SaveApplication 'http://localhost/application_process.asp','pubs',1,50--调用(读取)
declare @value varchar(100)
exec p_SaveApplication 'http://localhost/application_process.asp','pubs',1,@value out
select 结果=@value
--结果:pubs,1,50
如果要求得到页面返回结果,一般我会在URL页返回XML文档。