Merhaba Arkadaşlar,
asp.net te yeni sayılırım, bir proje yapıyorum ve baya güzel olacak fakat bikaç yerde takıldım.
iki adet tablom var. 1. tablom admin tablosu, ikinci tablom ise yetkiler tablosu. Bir stored procedure yazıyorum, bu proc da iç içe iki adet if kullanmam gerekiyor. Şöyle ki önce yetkiyi kontrol edeceğim yani asp.net te session dan gelen kullanıcının yetkisi
var mı diye, varsa 2. şarta girmesini isyorum bu şartta ise kullanıcı adı sistemde var mı?
mantığı şu şekilde kuruyorum.
Create proc [dbo].[SP_AdminEkle]
(
@kullaniciadi varchar(50),
@sifre varchar(50),
@adsoyad varchar(50),
@yetki int,
@yetkiid int
)
as
if exists (select * from yetki where @yetkiid = yetkiid and yetkiadi = 'admin')
begin
if exists(select * from admin where kullaniciadi = @kullaniciadi)
begin
return 2
end
else
begin
insert into admin (kullaniciadi,sifre,adsoyad,yetki) values (@kullaniciadi,@sifre,@adsoyad,@yetki)
end
end
else
begin
return 0
end
amacım burada yetki doğruluğu olursa yani yetki = "admin" se derhal bi alt a inecek if e gelecek orda tabloda kullanıcıadı var mı yokmu bakacak eğer varsa return 2 dönderecek, yoksa else girecek orda insert yapacak. eğer yetki sorunu varsa zaten
return 0 gönderecek. Yalnız ben bunu yaptım fakat 1. si sorguyu çalıştırınca exec diyerek
Command(s) completed successfully. diyor ama eklemiyor.yani 0 yada 2 göndermiyor. bide bu şekilde yapınca ben ado.net tarafında şunu yapabilrmiyim?
int sonuc = executenonquery(bıdıbıdı)
if (sonuc == 0)
{yetkin yok}
else if (sonuc == 2)
{kullanıcı var}
else if (sonuc == 1)
{eklendi}
lütfen yardım edin benim için çok önemli.
Gökhan Atılgan