Forum
Merhaba arkadaşlar gridview1 üzerindeki ürünlerin aynı olanlarını sadece miktar alanlarını toplatabilirmiyiz. yaniben ürünü barkod okutarak çağırıyorum aynı ürünü 2-3 defa okuttuğumda 2-3 satır değilde tek satırda 3 adet yazma işlemini yapamadım yardımcı olurmusunuz..
Yaptığım bi uygulamada senin ki gibi bir durum ile karşılaşmıştım.Uygulama devex değildi ama fikir vermesi açısından yazıyorum.
Barkod ile gelen değeri sql de stored procedure e gönderiyorum.Stored procedur de ilgili ürün aynı sipariş veya sayımda varmı diye kontrol ettirip yoksa insert var ise update işlemi yapıp grid i yeniliyorum. Aşağıdaki bir procedure m var.
ALTER PROCEDURE [dbo].[_SYM_ADD_DATA] (@STOKKODU VARCHAR(35),@KULLANICI VARCHAR(50),@SAYIMNO NVARCHAR(30),@RAFNO VARCHAR(50))
AS
Declare @kayitkontrol int
Declare @SIRA int
Declare @SONSIRA int
Declare @SONUC int
declare @kod varchar(35)
set @kod = (select STOK_KODU FROM TBLSTSABIT WHERE STOK_KODU = @STOKKODU OR URETICI_KODU = @STOKKODU OR BARKOD1 = @STOKKODU OR BARKOD2 = @STOKKODU OR BARKOD3 = @STOKKODU)
Set @kayitkontrol= (select count(*) from _SYM_DATA where STOK_KODU=@KOD AND AKTARILDI <>'E' AND SAYIMNO =@SAYIMNO )
set @SIRA = (SELECT TOP (1) ISNULL(SIRA,0)FROM _SYM_DATA where AKTARILDI <>'E' AND SAYIMNO =@SAYIMNO AND KULLANICI = @KULLANICI ORDER BY SIRA DESC)
set @SONSIRA = (SELECT TOP (1) ISNULL(SONSIRA,1)FROM _SYM_DATA where AKTARILDI <>'E' AND SAYIMNO =@SAYIMNO AND KULLANICI = @KULLANICI ORDER BY SONSIRA DESC )
if(@kayitkontrol = 0)
begin
INSERT INTO _SYM_DATA(STOK_KODU,MIKTAR,AKTARILDI,KULLANICI,SAYIMNO,SIRA,SONSIRA,SAYIMRAF) VALUES(@KOD,1,'H',@KULLANICI,@SAYIMNO,ISNULL(@SIRA + 1,1),ISNULL(@SONSIRA + 1,1),@RAFNO)
end
else
begin
UPDATE _SYM_DATA SET MIKTAR = MIKTAR + 1,SONSIRA = @SONSIRA + 1 WHERE STOK_KODU =@KOD AND AKTARILDI ='H' AND KULLANICI =@KULLANICI AND SAYIMNO = @SAYIMNO
end
teşekkürler oğlenden beri bende aynı düşüncedeyim aynı şekilde yazdım ama eksik bişeyler sanki var inşallah sizin yazdıklarınızla birleştirip halledicem
Hocam Merhaba,
Aynı sorunu bende yaşıyorum,nasıl çözdünüz acaba çözümünüzü paylaşırmısınız?.
İyi günler.