KO Developers

Go Back   KO Developers > Mini KO Forum (Yardım & İstek) > Genel Yardım


Genel Yardım KO PvP Server geliştirme hakkında sorunlarınız, yaşadığınız problemler ve daha önceden çözülmüş sorunların detaylı anlatımının bulunduğu alt forum.


Cevapla
LinkBack Seçenekler Stil
Okunmamış 21 Ekim 2017, 10:28   #1 (permalink)
Normal Üye

mkilincoglu - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 14 Ekim 2017
Bulunduğu yer: Ankara
Mesajlar: 199[+]
Kredi Bakiyeniz: 284
Ettiği teşekkür sayısı: 42
9 Mesaja 11 Kez Teşekkür Aldı

Standart Procedure hatası hk.

Merhabalar,

Procudure kodunu çalıştırdığım zamana aşağıdaki hatayı veriyor. Yardımcı olabilirmisiniz?

Teşekkürler,

Hata
-----------------------------------
Msg 402, Level 16, State 1, Procedure INSERTITEM, Line 80 [Batch Start Line 864]
The data types varbinary and varchar are incompatible in the add operator.


80.Satır
-----------------------------------

update warehouse set warehousedata = cast( substring(warehousedata, 1, @i-1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(warehousedata, @i+8, 1601-@i) as binary(1600)) where straccountid = @strUserID

-----------------------------------

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

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE INSERTITEM
@StrUserID varchar(30),
@NEWNum int,
@StackSize int
AS
DECLARE
@length int,
@row int,
@i int,
@Num int,
@pos int,
@dur int,
@dur1 int,
@ext int,
@StackSize1 int,
@strName varchar(30),
@strExtName varchar(30),
@CNum varbinary(4),
@cdur varchar(2),
@cstack varchar(2),
@stritemname varchar(21),
@itemexist int
BEGIN TRAN
select @itemexist = count(*) from item where num = @newnum
if (@itemexist < 1)
begin
select @StrUserID, 0, 0, 0, 'Invalid Item ID', 'Item Doesnt Exist'
ROLLBACK TRAN
RETURN
end
If (@StackSize > 9999) or (@StackSize < 1)
begin
select @StrUserID, 0, 0, 0, 'Invalid StackSize', 'Stack size 1 > 9999'
ROLLBACK TRAN
RETURN
end
Begin
set @i = 1
set @length=1601
Select @row = count(*) From warehouse Where straccountid like @StrUserID
If @row = 0 or @row > 1
Begin
Select @StrUserID, 0, 0, 0, 'Invalid ID', 'Please check the name against the datasource'
ROLLBACK TRAN
RETURN
End
Select @row = count(*) From warehouse Where (straccountid like @StrUserID) and (warehousedata is NULL)
If @row > 0
Begin
Select @StrUserID, 0, 0, 0, 'No Data', 'StrItem is NULL'
ROLLBACK TRAN
RETURN
End
End
select @stritemname = strname from item where num = @newnum
WHILE @i < @length
Begin
Select @Num=cast(cast(substring(cast(substring(warehoused ata, @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 smallint),
@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 smallint)
From warehouse
Where straccountid = @StrUserID
If @Num = 0
begin
If @dur = 0
Begin
If @StackSize1 = 0
Begin
select @dur = Duration from ITEM where Num = @NEWNum
If @StackSize > 1
Set @dur = 1
Set @CNum = Substring(cast(@NEWNum as varbinary(4)), 4, 1) + Substring(cast(@NEWNum as varbinary(4)), 3, 1) + Substring(cast(@NEWNum as varbinary(4)), 2, 1) + Substring(cast(@NEWNum as varbinary(4)), 1, 1)
Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))
Set @Cstack = cast(Substring(cast(@StackSize as varbinary(2)), 2, 1)+Substring(cast(@StackSize as varbinary(2)), 1, 1) as varchar(2))
Begin
--select cast(warehousedata as varbinary(1600)) from warehouse where strAccountID = @strUserID
--select cast( substring(WareHouseData, 1, @i-1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(WareHouseData, @i+8, 1601-@i) as binary(1600)) from warehouse where strAccountID = @strUserID
update warehouse set warehousedata = cast( substring(warehousedata, 1, @i-1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(warehousedata, @i+8, 1601-@i) as binary(1600)) where straccountid = @strUserID
COMMIT TRAN
--insert into abuse_check1 values (@StrUserID ,@stritemname, @NEWNum,@stacksize,getdate())
RETURN
End
End
End
End
set @i = @i + 8
End


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
mkilincoglu isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Okunmamış 21 Ekim 2017, 14:31   #2 (permalink)
Yardımcı Moderatör

TheChucky - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 07 Eylül 2017
Mesajlar: 118[+]
Kredi Bakiyeniz: 3.920
Ettiği teşekkür sayısı: 5
13 Mesaja 21 Kez Teşekkür Aldı

Standart Re: Procedure hatası hk.

Merhabalar hata veren satırı aşağıdaki ile değiştirirsen sorun olmamalı.
Alıntı:
update warehouse set warehousedata = cast( substring(warehousedata, 1, @i-1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varbinary(8)) + substring(warehousedata, @i+8, 1601-@i) as binary(1600)) where straccountid = @strUserID
TheChucky isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Okunmamış 21 Ekim 2017, 14:45   #3 (permalink)
Normal Üye

mkilincoglu - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 14 Ekim 2017
Bulunduğu yer: Ankara
Mesajlar: 199[+]
Kredi Bakiyeniz: 284
Ettiği teşekkür sayısı: 42
9 Mesaja 11 Kez Teşekkür Aldı

Standart Cevap: Re: Procedure hatası hk.

Alıntı:
TheChucky Nickli Üyeden Alıntı Mesajı göster
Merhabalar hata veren satırı aşağıdaki ile değiştirirsen sorun olmamalı.

Teşekkürler oldu. Eline sağlık
mkilincoglu isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Geçerli forum için yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Forum Site Hakkında
vBulletin® tarafından desteklenmektedir Versiyon 3.8.4
Telif hakkı ©2000 - 2018, Jelsoft Enterprises Ltd.

Sitemizdeki içerikler kopyalanmaya karşı DMCA ile korunmaktadır. DMCA.com Protection Status
İçerik sağlayıcı paylaşım sitelerinden biri olan kodevelopers.com Forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. kodevelopers.com hakkında yapılacak tüm hukuksal Şikayetler için admin@kodevelopers.com Mail adresimiz üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde kodevelopers.com yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatımız size dönüş yapacaktır.
© 2017 KO Developers ( by NERONLINEWORLD 2011/2013 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

Search Engine Friendly URLs by vBSEO 3.6.0