Fugal 6 #1 Oluşturuldu: Ocak 3, 2018 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, @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 Begin 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(4)), @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 smallint), @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 smallint), @StrUserID = strUserID From UserData Where strUserID = @StrUserID if @dwid is null set @dwid=0 if @stacksize1 is null set @stacksize1=0 if @dur is null set @dur=0 insert into itemler (dwid,stacksize,durability,struserid,sira,itembasicname,extname) values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname,@name ) set @i=@i+8 end end GO sql 2008 r2 kullanıyorum bu kodu girdiğimde Msg 291, Level 16, State 1, Procedure itemleri_bul, Line 31 CAST or CONVERT: invalid attributes specified for type 'int' böyle bir hata veriyor hatanın olduğu satı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(4)), @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 smallint), @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 smallint), @StrUserID = strUserID From UserData Where strUserID = @StrUserID umarım açıkalayabilmişimdir yardımlarınızı bekliyorum Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
CerfiN 68 #2 Ocak 3, 2018 tarihinde gönderildi DB'nin yedeğini alarak hatalı olan prosedür ve tabloları sil ve aşağıda ki verdiğim prosedürü yüklemeye çalış muhtemelen olacaktır.CREATE procedure [dbo].[itemleri_bul] @StrUserID varchar(30)ASDECLARE@length int, -- stritem uzunluğu@i int, -- item'in stritem deki yeri@dwid int, @dur int,@duar int,@StackSize1 int,@Sira int,@Row int,@name varchar(100),@extname varchar(100),@ext int set @i = 14*0+1 set @length = 401select @row=count(*) from userdata where struserid=@StrUserIDdelete from itemler where struserid=@StrUserIDif @row>0 beginWHILE @i BeginSelect @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 smallint),@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 smallint), @StrUserID = strUserID From UserData Where strUserID = @StrUserIDif @dwid is null set @dwid=0if @stacksize1 is null set @stacksize1=0if @dur is null set @dur=0insert into itemler (dwid,stacksize,durability,struserid,sira,itembasicname,extname) values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname,@name )set @i=@i+8endendAyrıca sana hata verdiği kısmı altı kırmızı çizili şekilde gösteriyordur önce oraya bakarak bir çözüm üretmeyi deneyebilirsin. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
Fugal 6 #3 Konu Sahibi Ocak 3, 2018 tarihinde gönderildi Teşekkür ederim . Sorun düzeldi çözüm için çok uğraştım son çare buraya yazdım şuan hatasız bir şekilde çalışıyor. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş