MSSQL 2021'de "CAST or CONVERT: invalid attributes specified for type 'int'" hatası veriyo prosedür'ler...?
--bu procedure Maktiris1536 tarafından eylenmiştir..
-- AKUMA is changed for ms2008
--KO-Cuce.com 2021
CREATE procedure itemleri_bul
@StrUserID varchar(30)
AS
DECLARE
@length int, -- stritem uzunluğu
@i int, -- item'in stritem deki yeri
@dwid int,
@dur int,
@duar int,
@Kocuce int,
@StackSize1 int,
@Sira int,
@Row int,
@name varchar(100),
@extname varchar(100),
@ext int
set @i = 14*0+1
set @length = 401
select @row=count(*) from userdata where struserid=@StrUserID
delete from itemler where struserid=@StrUserID
if @row>0
begin
WHILE @i < @length
Begin
--Buraya İşemek Yasaktır
Select @dwid=cast(cast(substring(cast(substring(strItem, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int),
@dur = cast(cast(cast( substring(strItem, @i+5, 1) as varbinary(1))+cast(substring(strItem, @i+4, 1) as varbinary(1)) as varbinary(2)) as int),
@StackSize1 = cast(cast(cast( substring(strItem, @i+7, 1) as varbinary(1))+cast(substring(strItem, @i+6, 1) as varbinary(1)) as varbinary(2)) as int),
@StrUserID = strUserID
From UserData
Where strUserID = @StrUserID
if @dwid=0
begin
set @extname='~~~~~~ item yok ~~~~~~'
set @name='~~~~~~ item yok ~~~~~~'
end
else
begin
set @extname='Bulunamadi'
select @extname=strname from item where num=@dwid
end
insert into itemler (dwid,stacksize,durability,struserid,sira,itembasicname) values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname )
set @i=@i+8
end
select * from itemler where struserid=@StrUserID order by sira
end
GO
--bu procedure Maktiris1536 tarafından eylenmiştir..
-- AKUMA is changed for ms2008
--KO-Cuce.com 2021
CREATE procedure itemleri_bul_banka
@StrUserID varchar(30)
AS
DECLARE
@length int, -- stritem uzunluğu
@i int, -- item'in stritem deki yeri
@dwid int,
@dur int,
@Kocuce int,
@StackSize1 int,
@Sira int,
@Row int,
@extname varchar(50)
delete from warehouse_itemler where struserid=@StrUserID
set @i = 14*0+1
set @length=1601
select @row=count(*) from warehouse where straccountid=@StrUserID
if @row>0
begin
WHILE @i < @length
Begin
--Buraya İşemek Yasaktır
Select @dwid=cast(cast(substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int),
@dur = cast(cast(cast( substring(WarehouseData, @i+5, 1) as varbinary(1))+cast(substring(WarehouseData, @i+4, 1) as varbinary(1)) as varbinary(2)) as int),
@StackSize1 = cast(cast(cast( substring(WarehouseData, @i+7, 1) as varbinary(1))+cast(substring(WarehouseData, @i+6, 1) as varbinary(1)) as varbinary(2)) as int),
@StrUserID = straccountid
From warehouse
Where straccountid = @StrUserID
if @dwid=0
begin
set @extname='~~~~~~ item yok ~~~~~~'
end
else
begin
set @extname='Bulunamadı'
select @extname=strname from item where num=@dwid
end
insert into warehouse_itemler values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname )
set @i=@i+8
end
select * from warehouse_itemler where struserid=@StrUserID order by sira
end
GO