+1 امتیاز
سلام میخواستم توی پایگاه داده جستوجو کنم...

یعنی اینکه من یه کالایی رو ثبت میکنم و یک کد به اون اختصاص میدم اگر این کد قبلا ثبت شده بود پیغام بده که قبلا ثبت شده و اینکه چطوری باید موقع ثبت کالاهام جستوجو کنم که آیا این کد قبلا ثبت شده یا نه.

ممنون میشم کمکم کنید.

1 پاسخ

+2 امتیاز

توی اس کیو الت یک پروسیجر جدید درست کن و توش کدهای زیر رو بنویس .

create proc addrecord
@name nvarchar(50) ,
@cod int ,
@result int output
as
if (exists ( select * from tblkala where cod=@cod))
set @result =1
else
begin 
insert into tblkala (cod,name)values(@cod,@name)
set @result =0
end
go

توی خط ششم نوشتم که اگر کالایی با اون کد وجود داشت مقدار 1 رو بده به ریزالت در غیره اینصورت مقدار 0 رو بهش بده و یک رکورد اضافه کن .دو متغیر نام و کد رو ما باید به اس کیو ال بدیم تا مقدار ریزالت رو ( 0 یا 1 ) به ما بده

حالا توی سی شارپ باید دستورات زیر رو بنویسی

//اضافه کردن یک رکورد جدید ****************
                        con = new SqlConnection("server=MOHSEN-PC\\SQL2008;database=dbhotel;integrated security=true");
                        SqlCommand cmd = new SqlCommand("addrecord", con);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@name", txtname.Text);
                        cmd.Parameters.AddWithValue("@cod",Convert.ToInt32(txtcod.Text));
                        cmd.Parameters.Add("@result", SqlDbType.Int);
                        cmd.Parameters["@result"].Direction = ParameterDirection.Output;

                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();

                        int res = Convert.ToInt32(cmd.Parameters["@result"].Value.ToString());

                        if (res == 1)
                        {
MessageBox.Show("کالایی با این کد موجود است");
                        }
                        else
                        {
MessageBox.Show("با موفقیت اضافه شد");
                         }

کلا اینطور بگم که برای جستوجو از where استفاده میکنی . exists هم بررسی موجود بودن را انجام میده

if (exists ( select * from tblkala where cod=@cod))

البته روش های دیگه ای هم هست ولی اصولیش روش بالاست .


 

خودم جوابش رو پیدا کردم و در این صفحه نوشتم .

توسط (206 امتیاز) 3 10 32
سلام ببخشید یه مدت نبودم تا پاسخ شما رو بدم
توسط (1,666 امتیاز) 8 21 78
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...