منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
التعديل ولاضافة في زر واحد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : التعديل ولاضافة في زر واحد (/showthread.php?tid=16196)



التعديل ولاضافة في زر واحد - makky - 20-06-16

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


RE: التعديل ولاضافة في زر واحد - الوادي - 20-06-16

يا مكي،

إذا كنت حاط كود التعديل وكود الاضافة في زر واحد فعندك حلين:
1: تستعلم عن السجل إن كان موجود فيكون كود التعديل اللي يتنفذ وإلا كود الاضافة هو اللي يتنفذ.
2: تضع متغير يكون هو العلامة الفارقة اللي تعرف منها تعديل ولا اضافة وتضع فيه قيمة بعد الاستعلام وضهور البيانات تدل على العملية التالية له تعديل، ماني عارف كيف اشرحها.


RE: التعديل ولاضافة في زر واحد - حريف برمجة - 20-06-16

(20-06-16, 02:13 AM)makky كتب : في حالة انك بضيف اول سجل في جدول(اول سجل) وحاطين كود التعديل وكود الاضافة في زر واحد ازاي نفرق بينهم (ده اول سجل يعني مش هنقدر نجيب منه اي دلاله)


كود :
Dim ret As Integer = (New OleDb.OleDbDataAdapter("SELECT id FROM table1 WHERE id=" & Val(textBox1.Text), conn).Fill(New DataTable))
If ret > 0 Then
    ' هنا يتم التعديل
Else
    ' هنا يتم الحفظ
End If
حقل Id يجب ان يكون رقمي.


RE: التعديل ولاضافة في زر واحد - makky - 21-06-16

(20-06-16, 02:39 AM)الوادي كتب : يا مكي،

إذا كنت حاط كود التعديل وكود الاضافة في زر واحد فعندك حلين:
1: تستعلم عن السجل إن كان موجود فيكون كود التعديل اللي يتنفذ وإلا كود الاضافة هو اللي يتنفذ.
2: تضع متغير يكون هو العلامة الفارقة اللي تعرف منها تعديل ولا اضافة وتضع فيه قيمة بعد الاستعلام وضهور البيانات تدل على العملية التالية له تعديل، ماني عارف كيف اشرحها.

كلامك مظبوط وانا عملته بس المشكلة لما باجي استعلم بيقولي لايوجد صفوف ويعمل خطأ

Dim dt As DataTable = New DAL().selectdatatable("select PT_Code from semebl")
       Dim da As Integer = (dt.Rows(dt.Rows.Count - 1)(0)).ToString
       'Dim da As Integer = dt.Rows(dt.Rows.Count)(0)
       Dim c As Integer = CInt(Pt.Txtcode.Text)
       Dim d As New DAL
       If da <> c Or dt.Rows.Count = 0 Then
         

           d.Dataedit(String.Format("insert into sementbl(PT_Code,PT_Name ,PT_Date,semVolume,semReaction,semAbstination,semColor,semViscosity,semLiqTime,semLiqstat,semAgglutination,semConcen,semCount,semNforms,semVitality,semclsA,semclsB,semclsC,semclsD,semMotileratio,semsthr,semndhr,semrdhr,sempus,semrbcs,spermatogeniccells,semComment)  values ({0},'{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}')", Textcode.Text, txtname.Text, Textdate.Text, txtvl.Text, txtreac.Text, txtabst.Text, Comcolr.Text, Comvisco.Text, txtliqt.Text, Comliqst.Text, comagg.Text, txtconc.Text, txtcount.Text, txtnorforms.Text, txtvitality.Text, txtA.Text, txtB.Text, txtC.Text, txtD.Text, motile, txt1sth.Text, txt2h.Text, txt3h.Text, txtpus.Text, txtrbcs.Text, txtspermato.Text, TxtMark.Text))
           MessageBox.Show("تم الحفظ", "save", MessageBoxButtons.OK)
       Else
           d.Dataedit(String.Format("UPDATE sementbl SET PT_Code = {0},PT_Name='{1}',PT_Date =#{2}#,semVolume= '{3}',semReaction = '{4}', semAbstination='{5}', semColor = '{6}',semLiqTime= '{7}',semLiqstat = '{8}',semAgglutination='{9}', semConcen= '{10}',semCount = '{11}',semNforms = '{12}',semNforms = '{13}',semVitality = '{14}',semclsA='{15}' ,semclsB= '{16}', semclsC = '{17}',semclsD='{18}',semMotileratio={19},semsthr='{20}',semndhr='{22}',semrdhr='{22}',sempus='{23}',semrbcs='{24}',spermatogeniccells='{25}',semComment='{26}' where PT_Code={27} and PT_Date=#{28}#;", Textcode.Text, txtname.Text, Textdate.Text, txtvl.Text, txtreac.Text, txtabst.Text, Comcolr.Text, Comvisco.Text, txtliqt.Text, Comliqst.Text, comagg.Text, txtconc.Text, txtcount.Text, txtnorforms.Text, txtvitality.Text, txtA.Text, txtB.Text, txtC.Text, txtD.Text, motile, txt1sth.Text, txt2h.Text, txt3h.Text, txtpus.Text, txtrbcs.Text, txtspermato.Text, TxtMark.Text, c, Patient.DateTimePicker1.Value.ToString("dd/MM/yyyy")))
           MsgBox("تم التعديل")
           MessageBox.Show("tomorrow", "bye", MessageBoxButtons.OK)
           'd.Dataedit(String.Format("update Result set Result.Result='{0}',recorded=yes,test_comm='{1}' where PT_code={2} and Test_No={3} and test_date=#{4}#", Trim(txtresult.Text), Trim(txtcomment.Text), txtcode.Text, ix, Patient.DateTimePicker1.Value.ToString("yyyy/MM/dd")))

       End If
       If (Not String.IsNullOrEmpty(txtvl.Text)) Then

           d.Dataedit(String.Format("update Result set recorded=yes,Result.Result='{4}',test_comm='{0}' where PT_code={1} and Test_No={2} and test_date=#{3}#", Trim(TxtMark.Text), Pt.Txtcode.Text, 23, Pt.DateTimePicker1.Value.ToString("yyyy/MM/dd"), "See Report"))

       End If

(20-06-16, 02:52 AM)حريف برمجة كتب :
(20-06-16, 02:13 AM)makky كتب : في حالة انك بضيف اول سجل في جدول(اول سجل) وحاطين كود التعديل وكود الاضافة في زر واحد ازاي نفرق بينهم (ده اول سجل يعني مش هنقدر نجيب منه اي دلاله)


كود :
Dim ret As Integer = (New OleDb.OleDbDataAdapter("SELECT id FROM table1 WHERE id=" & Val(textBox1.Text), conn).Fill(New DataTable))
If ret > 0 Then
    ' هنا يتم التعديل
Else
    ' هنا يتم الحفظ
End If
حقل Id يجب ان يكون رقمي.

انت هنا انت حصرت الموضوع ز الفكره بتقول لو التيكست بوكس = id يبقي عدل السجل ولو <>يبقي ال id ده مش موجدود يبقي ضيف سجل جديد


RE: التعديل ولاضافة في زر واحد - حريف برمجة - 21-06-16

نعم صحيح اخي مكي.


RE: التعديل ولاضافة في زر واحد - سعود - 21-06-16

(20-06-16, 02:52 AM)حريف برمجة كتب :
(20-06-16, 02:13 AM)makky كتب : في حالة انك بضيف اول سجل في جدول(اول سجل) وحاطين كود التعديل وكود الاضافة في زر واحد ازاي نفرق بينهم (ده اول سجل يعني مش هنقدر نجيب منه اي دلاله)


كود :
Dim ret As Integer = (New OleDb.OleDbDataAdapter("SELECT id FROM table1 WHERE id=" & Val(textBox1.Text), conn).Fill(New DataTable))
If ret > 0 Then
    ' هنا يتم التعديل
Else
    ' هنا يتم الحفظ
End If
حقل Id يجب ان يكون رقمي.

ماشاء الله تبارك الله ريحتني من محاولات عديدةSmile
ممكن نضيف شرط ان يكون  العمود لا يتكرر يعني مفتاح


RE: التعديل ولاضافة في زر واحد - makky - 21-06-16

(21-06-16, 02:54 AM)سعود كتب :
(20-06-16, 02:52 AM)حريف برمجة كتب :
(20-06-16, 02:13 AM)makky كتب : في حالة انك بضيف اول سجل في جدول(اول سجل) وحاطين كود التعديل وكود الاضافة في زر واحد ازاي نفرق بينهم (ده اول سجل يعني مش هنقدر نجيب منه اي دلاله)


كود :
Dim ret As Integer = (New OleDb.OleDbDataAdapter("SELECT id FROM table1 WHERE id=" & Val(textBox1.Text), conn).Fill(New DataTable))
If ret > 0 Then
    ' هنا يتم التعديل
Else
    ' هنا يتم الحفظ
End If
حقل Id يجب ان يكون رقمي.

ماشاء الله تبارك الله ريحتني من محاولات عديدةSmile
ممكن نضيف شرط ان يكون  العمود لا يتكرر يعني مفتاح

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