الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود insert & search

بدأه ضحى حسان في 29 أغسطس 2010 · 12 رد · 1,038 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم من جديد

عندي سؤال مهم

كيف اجمع كود search مع كود insert في بوتن واحد

يعني متل عندما اسجل في موقع

عند انهاء بيانات التسجيل يعطي مسج

انوا هذا الاسم موجود من قبل عند التعديل

يعمل للكود اضافه على الداتا بيز

حاولت كثيرا ان اجمع بين الكوديين في بوتن واحد ... ولكن محاولاتي باءت بالفشل !!!

اتمني ان تساعدوني

******تقبلوا تحياتي*****

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#2

عن طريق ال stored proceder يحسب هل هو موجود لا ينفذ ويعطي رسالة ام هل هو غير موجود ينفذ ويدخل الاسم

create PROCEDURE dbo.insertuser

 (
 @uname nvarchar(50),
 @output nvarchar(50) OUTPUT
 )

AS
declare @isexist int
begin
set @isexist=(SELECT    	COUNT(English_Name) AS nameexists
          	FROM        	Users
          	WHERE    	(English_Name = @uname))

          	if (@isexist>0)
          	begin
     set @output='the name is exist'
          	end
          	else
          	begin
          	INSERT INTO Users
                                   	(English_Name)
          	VALUES    	(@uname)
          	set @output='user  add success'
          	end
end

In bad state

#3
X-File كتب:

عن طريق ال stored proceder يحسب هل هو موجود لا ينفذ ويعطي رسالة ام هل هو غير موجود ينفذ ويدخل الاسم

create PROCEDURE dbo.insertuser

 (
 @uname nvarchar(50),
 @output nvarchar(50) OUTPUT
 )

AS
declare @isexist int
begin
set @isexist=(SELECT    	COUNT(English_Name) AS nameexists
          	FROM        	Users
          	WHERE    	(English_Name = @uname))

          	if (@isexist>0)
          	begin
     set @output='the name is exist'
          	end
          	else
          	begin
          	INSERT INTO Users
                                   	(English_Name)
          	VALUES    	(@uname)
          	set @output='user  add success'
          	end
end

جد مشكور على الرد ... بس انا ما بعرف شي عن stored proceder ومعلوماتي فيها صفر

وما بعرف بعد ما انشئ stored proceder كيف راح اضيفها

واحد من الاتنين

يا شرح عنها اقراه

يا حل اخر

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#4

هذا ملف من جامعتي

اتوقعه يفي بالغرض

ان لم يفي بالغرض لا مشكلة توجد عدة طرق وكلها بنفس الاسلوب ولكنني احب هذا الاسلوب

    	string str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    	SqlConnection con = new SqlConnection(str);
    	string strcom = "SELECT  count(English_Name) FROM   Users where   English_Name=@uname";
    	SqlCommand command = new SqlCommand(strcom, con);
    	command.Parameters.AddWithValue("@uname", TextBox1.Text);

    	try
    	{
        	con.Open();
        	int count = (int)command.ExecuteScalar();
        	Label1.Text = count.ToString();
        	if (count < 1)
        	{
            	string strco = "INSERT INTO Users (English_Name) VALUES (@unam)";
            	SqlCommand commnd = new SqlCommand(strco, con);
            	commnd.Parameters.AddWithValue("@unam", TextBox1.Text);
            	commnd.ExecuteNonQuery();
            	Label1.Text = "تمت العملية بنجاح";
        	}
        	else 
        	{
            	Label1.Text = "الاسم موجود لا يمكنك الاضافة";
        	}

    	}
    	catch (Exception er)
    	{
        	Label1.Text = er.Message;
    	}
    	finally
    	{
        	con.Close();
    	}

اتوقع الكود مفهوم

الشرح ياتي باخر الصفحات للاجراءات المخزنة

ADO.NET Fundamentals.pdf

تم تعديل هذه المشاركة بواسطة X-File في 30 أغسطس 2010 في 03:07

In bad state

#5

السلام عليكم.......انا اعتذر لكثره اسئلتي واستعابي البطئ بس انا جربت الكود

هلا اذا الايميل مو موجود يضيفه على الداتا بيز ...ولكن المشكله اذا الايميل موجود بطلع رسالة خطأ

Conversion from string "doha hassan" to type 'Integer' is not valid.

doha hassan هي التكست بوكس الذي اضيف فيه الايميل وهي الكوود مرفق مع الايميل

code.txt

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#6
Dim selectsql As String
    	selectsql = "select count(*) from login WHERE E_mail=@ E_mail"
    	Dim con As New SqlConnection(connectionstring)
    	Dim cmd As New SqlCommand(selectsql, con)
    	cmd.Parameters.AddWithValue("@E_mail", TextBox4.Text)
    	Try
        	con.Open()
        	Dim count As Integer
        	count = cmd.ExecuteScalar
        	TextBox4.Text = count.ToString()
        	If (count < 1) Then
            	Dim insertsql As String
            	insertsql = " INSERT INTo login(username,password,E_mail) Values(@username,@password,@E_mail)"
            	Dim cmd1 As New SqlCommand(insertsql, con)
            	cmd1.Parameters.AddWithValue("@username", TextBox1.Text)
            	cmd1.Parameters.AddWithValue("@password", TextBox2.Text)
            	cmd1.Parameters.AddWithValue("@E_mail", TextBox4.Text)
            	cmd1.ExecuteNonQuery()
            	'Label3.Text = " Welcome...Has been successfully registered,Please...wait 5 minutes until the transition to the login page."
            	Label5.Text = "تمت العملية بنجاح"
        	Else

            	Label5.Text = "الاسم موجود لا يمكنك الاضافة"
        	End If
    	Catch ex As Exception
        	Label6.Text = ex.Message
    	Finally
        	con.Close()

    	End Try

الخطا بجملة الاستعلام انتي تعيدين datareader وتتعاملين معها على انها رقم

يوجد فقط خطا بالكود @ جنبها بالاستعلام لانه لم يقبل المحرر هنا الا بوضع ال @E_mail الا كرابط

بتوقع هيك صحيح وان ما كانت هاي المشكلة

بتمنى ارفاق صورة من الشاشة لرسالة الخطا

تم تعديل هذه المشاركة بواسطة X-File في 4 سبتمبر 2010 في 20:04

In bad state

#7

السلام عليكم ...استازنا الفاضل

هلا ضلت نفس المشكله

المشكله بتظهر عند الرن

يعني بعد ما اعبئ البيانات اذا الايميل موجود بطلع بالليبل Conversion from string "doha hassan" to type 'Integer' is not valid.

انا بتوقع انوا في غلط هوون ..حاسه انوا في شي ناقص

Dim count As Integer

count = cmd.ExecuteScalar

TextBox4.Text = count.ToString()

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#8

بسم الله الرحمن الرحيم

اختى الكود الخاص بحضرتك مختلف عن الكود اللى وضعته الاخ عبد المهيمن

selectsql = "select * from login WHERE E_mail='" & Me.TextBox4.Text & "'"

ده بتاعك

 selectsql = "select count(*) from login WHERE E_mail=@ E_mail"

و ده بتاع اخوى حضرتك نسيتى تكتبى ال count

ده حاجة

التانية انتى ممكن تختصرى ده كله و تعملى الايميل على انه priamrykey و لو حصل فيه تكرار هو هيرفض و هيخرج لك خطا انتى خ

ى رقم الخطا ده و اعمله عليه if لو الرقم ده اتحقق اخرجى له رسالة انه موجود من قبل

على العموم جربى ان شاء الله تظبط معاكى

تم تعديل هذه المشاركة بواسطة bodaman22 في 4 سبتمبر 2010 في 21:50

#9
bodaman22 كتب:

بسم الله الرحمن الرحيم

اختى الكود الخاص بحضرتك مختلف عن الكود اللى وضعته الاخ عبد المهيمن

selectsql = "select * from login WHERE E_mail='" & Me.TextBox4.Text & "'"

ده بتاعك

 selectsql = "select count(*) from login WHERE E_mail=@ E_mail"

و ده بتاع اخوى حضرتك نسيتى تكتبى ال count

ده حاجة

التانية انتى ممكن تختصرى ده كله و تعملى الايميل على انه priamrykey و لو حصل فيه تكرار هو هيرفض و هيخرج لك خطا انتى خ

ى رقم الخطا ده و اعمله عليه if لو الرقم ده اتحقق اخرجى له رسالة انه موجود من قبل

على العموم جربى ان شاء الله تظبط معاكى

يا سلااااااااااام ...الحمد لله هيك تمام زبط الكود

شكرا الك كتير وللاخ X-file

يسلموا غلبتكم معي

وان شالله راح اعمل فكرة اpriamry بس انا حبيت اجرب اكتر من شغله

على كل حال خلص اتعلمنا

بس شو بتعني count

على اي اساس قبلها وهيه مو موجوده بالجداول في الداتا بيز

تم تعديل هذه المشاركة بواسطة ضحى حسان في 4 سبتمبر 2010 في 22:23

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#10

بسم الله الرحمن الرحيم

اختى ال count معناها العدد يعنى انت بتقولى له هات العدد اللى فيها الايميل موجود

يعنى هى كلمة محجوزة فى ال sql

ربنا معاكى و احنا معاكى فى اى حاجة جربى موضوع ال pramrykey لأنها مهمة و اسهل

#11

الاخوة الاعزاء كل عام وانتم بخير

جربت هذا الكود واشتغل تمام فى حالة ان لو الاسم موجود يظهر label بأن الشخص موجود منقبل

ةلكن المشكلة عند الادارج فانه يدرج اسم الشخص 0

اى يدرج كل البيانات صح ولكن الاسم يكتب بدل منه 0

ايه الحل

للعلم انا مستخدم نفس الكود اللى فوق مع تغيير اسماء العناصر

#12
rabiemohamed كتب:

الاخوة الاعزاء كل عام وانتم بخير

جربت هذا الكود واشتغل تمام فى حالة ان لو الاسم موجود يظهر label بأن الشخص موجود منقبل

ةلكن المشكلة عند الادارج فانه يدرج اسم الشخص 0

اى يدرج كل البيانات صح ولكن الاسم يكتب بدل منه 0

ايه الحل

للعلم انا مستخدم نفس الكود اللى فوق مع تغيير اسماء العناصر

السلام عليكم .... هلا هون بالكود اسخدمنا count وكما شرحها الاخ الفاضل انوا معناها العدد يعنى انت بتقولى له هات العدد اللى فيها الايميل موجود

هوه راح يجيب عدد المرات اللي فيها الاسم موجود ويظهرها بالتكيست

انا حليت المشكله اني بعد ما خلصت الكود فرغت التكيست بوكس كاملين

textbox.text=""

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#13

جربت الكود

وبالنسبة لرد الاخت ضحى فطبيعى انى بفرغ الحقول بعد عملية الاضافة

ولكن نفس المشكلة انه يضيف بدلا من اسم الطالب يضيف الرقم 0

وهذا هو الكود

اريد اعرف اين الخطأ وكيفية تصحيحه

Dim cmdsel As New SqlCommand("select count(*)from Stu_Data where F_Name=@firstname", mycon)

With cmdsel.Parameters

.AddWithValue("@firstname", Texnamear.Text)

End With

Try

mycon.Open()

Dim count As Integer

count = cmdsel.ExecuteScalar

Texnamear.Text = count.ToString()

If (count < 1) Then

Dim cmdinsert As String

cmdinsert = ("insert into Stu_Data(F_Name,F_Name_English,Address,gov_id,Nathionilty,Brith_Date,Kind_id,Card_Id,card_date,Telhome,Mobile,Enter_date_univiristy,Faculity,part,class_id,Education_Hight,E_mmail)values(@fname,'" & Texnameen.Text & "',@addr,'" & Drogov.SelectedValue & "','" & Dronatio.SelectedValue & "','" & Texbrth.Text & "','" & Drokind.SelectedValue & "','" & Texcard.Text & "','" & Texcarddate.Text & "','" & Textel.Text & "','" & Texmob.Text & "','" & Texaltahak.Text & "','" & Drofuclity.SelectedValue & "','" & Drodepart.SelectedValue & "','" & Droclass.SelectedValue & "','" & Drohighedu.SelectedValue & "','" & Texemail.Text & "')")

Dim cmd1 As New SqlCommand(cmdinsert, mycon)

With cmd1.Parameters

.AddWithValue("@fname", Texnamear.Text)

.AddWithValue("@addr", Texaddress.Text)

End With

cmd1.ExecuteNonQuery()

Lb.Text = "تمت الاضافة"

Else

Lb.Text = "عفوا هذا الاسم تم تسجيله من قبل"

End If

Catch ex As Exception

End Try

mycon.Close()

مواضيع مشابهة