请问关于OpenRowSet的问题

zhoutian618 2003-12-26 01:05:15
就是Insert into OpenRowSet那句,可以这样写吗?
还有如果是DELETE与OpenRowSet联合使用如何写代码。。。
(我是第一次用OpenRowSet)
drop procedure _spInsertRecipe
go

create procedure _spInsertRecipe(
@pJBZBM varchar(20)='',
@pRecipeID int=0
)
as
declare @pHostName varchar(255), @pDBUserName varchar(255), @pDBPassword varchar(255)
declare @pSQL varchar(8000), @pTabName varchar(255)

--读取连接参数
select @pHostName=vcComputerName, @pDBUserName=vcDBUser, @pDBPassword=vcDBPassowrd
from _JBZ_LJCS z
where z.vcJBZBM=@pJBZBM

select @pTabName='['+@pHostName+'_Recipe]'

select @pSQL=''
+'insert into OpenRowSet(''SQLOLEDB.1'', ''DRIVER={SQL Server};SERVER='
+@pHostName+';UID='+@pDBUserName+';PWD='+@pDBPassword+''''
+' , ''select * from jxc.dbo.recipe'') '
+' select * from '+@pTabName+' where RecipeID='+convert(varchar(20), @pRecipeID)

--查出所有的数据
--print @pSQL
exec(@pSQL)
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoutian618 2003-12-26
  • 打赏
  • 举报
回复
TO wwwwjjjj1978(风流小太狼)

我也是DELPHI进行开发的,
只是我经常在DELPHI版的SQL SERVER两版之间来回学习罢了。
zhoutian618 2003-12-26
  • 打赏
  • 举报
回复
多谢各位。
新问题:同台程序保存该值后又调用该存储过程,有时可以违反主键约束插入进数据!!!
程序执行步骤:前台数据保存一条RecipeID为1的记录,然后调用该存储过程将RecipeID为1
的记录插入到OPENDATASET指定的表中,
特例:违反主键约束插入进数据的情况是SELECT和OPENDATASET中的表是一致的!
相当于执行:
insert into OpenDataSet('SQLOLEDB.1',
'DRIVER={SQL Server};SERVER=ZHSERVER;UID=SA;PWD=',
'select * from jxc.dbo.recipe')--!!!!!!!!!
select * from jxc.dbo.recipe--!!!!!!!!
where Recipe=1--!!!!!!!!!!!!!!!
请问有什么问题??
超人汪 2003-12-26
  • 打赏
  • 举报
回复
你的帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不平凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范。

可以说是前无古人,后无来者,千古绝唱,妙语如珠,另人耳目一新,心旷神怡,目不暇接,交口称赞,浮想联翩,是你的得意之作呀! (:

不愧是高手,还请前辈多多指教,多多提拔,日后小人如有所成,当不忘前辈的尊尊教导,循循善诱,当头棒喝,指点迷经,小人当涌泉相报,万死不辞!!!!!

(偶是delphi社团成员,没事到SQL区来灌灌水,是兄弟就帮顶! (: )
erigido 2003-12-26
  • 打赏
  • 举报
回复
没看出来问题。。。。
zjcxc 元老 2003-12-26
  • 打赏
  • 举报
回复
楼主的做法本身没问题.可以的了.
Rotaxe 2003-12-26
  • 打赏
  • 举报
回复
执行有错误吗?什么错误
zhoutian618 2003-12-26
  • 打赏
  • 举报
回复
列肯定是一样的。
Rotaxe 2003-12-26
  • 打赏
  • 举报
回复
可以,不过列要对齐
zhoutian618 2003-12-26
  • 打赏
  • 举报
回复
还有一个问题,除了给出UID和PWD之外还要什么条件才可以联接到HOSTNAME机器上的SQL服务啊。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧