• 1557阅读
  • 33回复

1.14[分享]解决结婚的存储过程(没解决的进) [复制链接]

上一主题 下一主题
离线regol
 
发帖
537
祝福宝石
0
威望
3124
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2005-01-14
首先保证你的两个存储过程是这样的
1、MyGSFun_SetExtChrData


CREATE proc MyGSFun_SetExtChrData
@AccountID varchar(10),
@Name varchar(10),
@FQBZ int,
@FQCount int,
@FQName varchar(10),
@Lores int,
@RTN varchar(100) OUTPUT
as
set nocount on
declare @ec int
,@ll int
,@jf int
,@jfbl int
set @jfbl=2 --设置积分兑换比例 1/X
set @ec=0
begin tran
select @ll=LastLores from extchrdata where accountid=@accountid and name=@name
--转换为积分
if @ll is null
set @jf=cast(@Lores/@jfbl as int)
else
set @jf=cast((@Lores-@ll)/@jfbl as int)
update ExtIdData set HaveCents=HaveCents+@jf where AccountID=@AccountID
--set @ec = @ec | @@error --不管积分更新是否成功都应更新角色数据
if @ll is not null begin
update extchrdata set FQName=@FQName,FQBZ=@FQBZ,FQCount=@FQCount
,Lores=@lores,LastLores=LastLores+@jf*@jfbl
where accountid=@accountid and name=@name
set @ec = @ec | @@error
end else begin
insert into extchrdata (AccountID,Name,FQBZ,FQCount,FQName,Lores,LastLores)
values (@AccountID,@Name,@FQBZ,@FQCount,@FQName,@Lores,@jf*@jfbl)
set @ec = @ec | @@error
end
if @ec = 0 begin
commit tran
set @RTN='OK'
end else begin
rollback tran
set @RTN='Update ExtChrData Error !'
end
set nocount off


GO
2、MyGSFun_SetExtChrData1


CREATE proc MyGSFun_SetExtChrData1
@AccountID varchar(10),
@Name varchar(10),
@FQBZ int,
@FQCount int,
@FQName varchar(10),
@Lores int
as
set nocount on
declare @ec int
,@ll int
,@jf int
,@jfbl int
,@RTN varchar(100)
set @jfbl=2 --设置积分兑换比例 1/X
set @ec=0
begin tran
select @ll=LastLores from extchrdata where accountid=@accountid and name=@name
--转换为积分
if @ll is null
set @jf=cast(@Lores/@jfbl as int)
else
set @jf=cast((@Lores-@ll)/@jfbl as int)
update ExtIdData set HaveCents=HaveCents+@jf where AccountID=@AccountID
--set @ec = @ec | @@error --不管积分更新是否成功都应更新角色数据
if @ll is not null begin
update extchrdata set FQName=@FQName,FQBZ=@FQBZ,FQCount=@FQCount
,Lores=@lores,LastLores=LastLores+@jf*@jfbl
where accountid=@accountid and name=@name
set @ec = @ec | @@error
end else begin
insert into extchrdata (AccountID,Name,FQBZ,FQCount,FQName,Lores,LastLores)
values (@AccountID,@Name,@FQBZ,@FQCount,@FQName,@Lores,@jf*@jfbl)
set @ec = @ec | @@error
end
if @ec = 0 begin
commit tran
set @RTN='OK'
end else begin
rollback tran
set @RTN='Update ExtChrData Error !'
end
select @RTN RTN
set nocount off
GO
3、修改你的MyGSFun_GetExtChrData如下:

CREATE proc MyGSFun_GetExtChrData
@Name nvarchar(10),
@AccountID varchar(10)
as
set nocount on
SELECT ExtChrData.*,Character.zs_count as ZSCount,ExtIdData.HaveCents as Cents
from ExtChrData
left join Character on (ExtChrData.Name=Character.AccountID)
left join ExtIdData on (ExtIdData.AccountID=@AccountID)
where ExtChrData.AccountID=@AccountID and ExtChrData.Name=@Name
set nocount off
GO

我的就是这样修改的,GS里的LOG在没出现任何错误提示。
提示,在做这些之前最好,先清空你ExtChrData表里的数据。不要保留任何东西,在改。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
共同研究是我们的宣言,发现奇迹是我们的骄傲。
为了研究的兴趣和诺言,我们相识相知在VZ空间。
让我们共同携手共同行,创造我们高尚快乐明天。
http://qhregol.vicp.net
http://qhlh.vicp.net
离线leehom444
发帖
72
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2005-01-14
有用吗
离线yxtsir2003
发帖
837
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2005-01-14
顶起来,我来试试看!!!1
奇迹我喜欢,大家都来研究啊,不过要注意身体哟!!
离线雪龙
发帖
113
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2005-01-14
CREATE proc MyGSFun_SetExtChrData1
@AccountID varchar(10),
@Name varchar(10),
@FQBZ int,
@FQCount int,
@FQName varchar(10),
@Lores int
as
set nocount on
declare @ec int
,@ll int
,@jf int
,@jfbl int
,@RTN varchar(100)
set @jfbl=2 --设置积分兑换比例 1/X
set @ec=0
begin tran
select @ll=LastLores from extchrdata where accountid=@accountid and name=@name
--转换为积分
if @ll is null
set @jf=cast(@Lores/@jfbl as int)
else
set @jf=cast((@Lores-@ll)/@jfbl as int)
update ExtIdData set HaveCents=HaveCents+@jf where AccountID=@AccountID
--set @ec = @ec | @@error --不管积分更新是否成功都应更新角色数据
if @ll is not null begin
update extchrdata set FQName=@FQName,FQBZ=@FQBZ,FQCount=@FQCount
,Lores=@lores,LastLores=LastLores+@jf*@jfbl
where accountid=@accountid and name=@name
set @ec = @ec | @@error
end else begin
insert into extchrdata (AccountID,Name,FQBZ,FQCount,FQName,Lores,LastLores)
values (@AccountID,@Name,@FQBZ,@FQCount,@FQName,@Lores,@jf*@jfbl)
set @ec = @ec | @@error
end
if @ec = 0 begin
commit tran
set @RTN='OK'
end else begin
rollback tran
set @RTN='Update ExtChrData Error !'
end
select @RTN RTN
set nocount off
GO
3、修改你的MyGSFun_GetExtChrData如下:

CREATE proc MyGSFun_GetExtChrData
@Name nvarchar(10),
@AccountID varchar(10)
as
set nocount on
SELECT ExtChrData.*,Character.zs_count as ZSCount,ExtIdData.HaveCents as Cents
from ExtChrData
left join Character on (ExtChrData.Name=Character.AccountID)
left join ExtIdData on (ExtIdData.AccountID=@AccountID)
where ExtChrData.AccountID=@AccountID and ExtChrData.Name=@Name
set nocount off
GO
离线yxtsir2003
发帖
837
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2005-01-14
这是什么意思,和楼主的有什么不同!!!
奇迹我喜欢,大家都来研究啊,不过要注意身体哟!!
离线学记
发帖
111
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2005-01-14
转生后正常吗
离线kin864
发帖
951
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2005-01-14
正常吗???谁测试了
潜水很多年........ 要找本人.请到深海 1 W米
离线vangjian
发帖
814
祝福宝石
0
威望
4200
玛雅之石
1
创造宝石
0
只看该作者 7楼 发表于: 2005-01-14

只是不写日志了,不是根本的解决办法。除非存储过程中的表和插件中的检查表一致

离线kin864
发帖
951
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2005-01-14
楼上能搞个正解吗??? 谢谢!!!
潜水很多年........ 要找本人.请到深海 1 W米
离线vangjian
发帖
814
祝福宝石
0
威望
4200
玛雅之石
1
创造宝石
0
只看该作者 9楼 发表于: 2005-01-14

把插件解密,然后对照里面的表结构相应的改就可以了。我已经很少研究奇迹了。

离线kin864
发帖
951
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2005-01-14

坦白说`````我对这东西一窍不通.不好意思

呵呵```我提供个吧``你破? 谢谢`

[em04][em04]
潜水很多年........ 要找本人.请到深海 1 W米
离线abc5741
发帖
148
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 11楼 发表于: 2005-01-14

哈哈,谢谢楼主啊

用这个我的蓄气解决拉

结婚也解决拉

离线abc5741
发帖
148
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 12楼 发表于: 2005-01-14

呵呵,我一直把(ExtChrData.Name=Character.AccountID)
能成(ExtChrData.Name=Character.name)拉,不过现在好拉

离线飘逸
发帖
96
祝福宝石
0
威望
51
玛雅之石
0
创造宝石
0
只看该作者 13楼 发表于: 2005-01-14
谢楼主!我改了先
离线87358900
发帖
229
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 14楼 发表于: 2005-01-14
有人解决了的吗?下线上线后正常不?
离线Snowy020
发帖
18
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 15楼 发表于: 2005-01-14

为什么我在MyGSFun_GetExtChrData下加下面的储存过程一应用就说

3、修改你的MyGSFun_GetExtChrData如下:

CREATE proc MyGSFun_GetExtChrData
@Name nvarchar(10),
@AccountID varchar(10)
as
set nocount on
SELECT ExtChrData.*,Character.zs_count as ZSCount,ExtIdData.HaveCents as Cents
from ExtChrData
left join Character on (ExtChrData.Name=Character.AccountID)
left join ExtIdData on (ExtIdData.AccountID=@AccountID)
where ExtChrData.AccountID=@AccountID and ExtChrData.Name=@Name
set nocount off
GO

离线summer2050
发帖
261
祝福宝石
0
威望
2940
玛雅之石
0
创造宝石
0
只看该作者 16楼 发表于: 2005-01-14

再来一个清空ExtChrData表的SQL

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ExtChrData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ExtChrData]
GO

CREATE TABLE [dbo].[ExtChrData] (
[AccountID] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FQBZ] [int] NOT NULL ,
[FQCount] [int] NOT NULL ,
[FQName] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Lores] [int] NOT NULL ,
[LastLores] [int] NOT NULL
) ON [PRIMARY]
GO

离线学记
发帖
111
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 17楼 发表于: 2005-01-14
不行啊...我改了.结婚可以.星也可以..但结婚下线再上线就不行了.
离线87358900
发帖
229
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 18楼 发表于: 2005-01-14
是哈,有没有上线下线都正常的修改方法?
离线烈火追求
发帖
144
祝福宝石
0
威望
1224
玛雅之石
0
创造宝石
0
只看该作者 19楼 发表于: 2005-01-14

现在的问题就是下线在上就不显示夫妻了

就是下了再上就没有

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!