تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تغير كود من vb.net ال سي شارب
#9
بخصوص المشاركة رقم #4
خاص المشروع المرفق تم التعديل على الكود بداخله ليصبح بهذا الشكل
كود :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace Test
{
   public partial class Form1 : Form
   {
       private DataSet ds = new DataSet();
       private DataView dv = new DataView();
       private SqlDataAdapter da = new SqlDataAdapter();
       private SqlCommand cmd = new SqlCommand();
       private string sql;

       public Form1()
       {
           InitializeComponent();
           ComboBox_School();
           // هذا السلطر تعبئه الكمبو بوكس
           DB.FillComBobx(comboBox1, "select School_Nam,School_ID from TB_School", "School_Nam", "School_ID");

       
           // هذا السطر يتم من خلاله تعبئه كمبو بوكس خارج الداتا فيو لو امكن تعديله لتعبئه كمبو بوكس داخل الداتا فيو ايضا
           //DB.FillComBobx(Col_School_Nam, "select School_Nam,School_ID from TB_School", "School_Nam", "School_ID");

           // هذا السلطر لاستدعاء البيانات داخل الداتا فيو
           DB.FillDGV(DGV_Schol, "select TB_Schol.School_ID,Emp_ID,Schol_Start,Schol_Date from TB_Schol,TB_School where TB_Schol.School_ID=TB_School.School_ID and Emp_ID=" + this.Txt_Emp_ID.Text + "");

       }

       void ComboBox_School() // كود لتعبئه الكمبو بوكس داخل الداتا فيو
       {
           DB.openDB();
           SqlDataAdapter sql = new SqlDataAdapter("select * from TB_School", DB.Con);
           DataTable Dt = new DataTable();
           sql.Fill(Dt);
           Col_School.ValueMember = "School_ID";
           Col_School.DisplayMember = "School_Nam";
           DataRow topItem = Dt.NewRow();
           topItem[0] = 0;
           topItem[1] = "-أختر-";
           Dt.Rows.InsertAt(topItem, 0);
           Col_School.DataSource = Dt;
       }

       private void Btn_Save_Click(object sender, EventArgs e)
       {
           foreach (DataGridViewRow row in DGV_Schol.Rows)
           {
               if (row.Cells[0].Value == null)
               {
                   sql = "insert into TB_Schol(Schol_ID,Emp_ID,School_ID,Schol_Start,Schol_User,Schol_Date)values (@Schol_ID,@Emp_ID,@School_ID,@Schol_Start,@Schol_User,@Schol_Date)";
               }
               else
               {
                   sql = "update TB_Schol set Emp_ID=@Emp_ID,School_ID=@School_ID,Schol_Start=@Schol_Start,Schol_User=@Schol_User,Schol_Date=@Schol_Date where Schol_ID=@Schol_ID ";
               }
               DB.Con.Close();
               cmd.Parameters.AddWithValue("@Emp_ID", this.Txt_Emp_ID.Text.ToString());
               cmd.Parameters.AddWithValue("@School_ID", row.Cells[2].Value).DbType = DbType.Int32;
               cmd.Parameters.AddWithValue("@Schol_Start", row.Cells[3].Value).DbType = DbType.String;
               cmd.Parameters.AddWithValue("@Schol_User", this.Txt_User.Text.ToString());
               cmd.Parameters.AddWithValue("@Schol_Date", DateTime.Today.ToString("yyyy/MM/dd").ToString());
               DB.Con.Open();
               cmd.ExecuteNonQuery();
               DB.Con.Close();
               MessageBox.Show("تم الحفظ بنجاح");
           }
       }
   }
}

ولكن لدي بعض الاسؤلة بسبب عدم تمكنى من اختبار
البرنامج بعد تعديل الكود بسبب اختلاف اصدار قاعدة البيانات فاذا كان تم سحبها كاسكربت كود سيكون افضل
وعدم تمكنى ايضاً من ارفاق المشروع بعد التعديل ايضاً بسبب اختلاف الاصدار لديك ولدي

على اى حال السؤال الاول بخصوص هذا السطر
كود :
               if (row.Cells[0].Value == null)
// الاول كان بهذا الشكل
               if (row.Cells[0].Value == "")

هل عملية الاضافة عند داخل بيانات جديدة
يتم تعبئة السطر الجديد بدون كتابة وادخال رقم للمسلسل
لان اذا كان الرد لا فهنا الشرط من التحقق هنا خطاء تماماً وانه سيعمل دائماً على تحديث فقط وليس ادخال
الا اذا كنت عملت تجميد لعمود المسلسل من التعديل والكتابة به

السؤال الثاني من هو خصائص هذا العمود
PHP كود :
School_ID 


حيث ان القيمة يتم تعبئتها من هنا
PHP كود :
row.Cells[2].Value 

والمقصود به رقم الموظف والمشكلة انك كنت عامل فى الكود انه من نوع نص
كود :
DbType.String

وتم التعديل ليكون
كود :
DbType.Int32

فكما ذكرت انا لا اعلم محتوى قاعدة البيانات بسبب اختلاف الاصدار لديك ولدي

السؤال الاخير
انت تستخدم التالى
PHP كود :
@Schol_ID,@Emp_ID,@School_ID,@Schol_Start,@Schol_User,@Schol_Date 

بينما عند اعطاء القيم لها تكون
كود :
               cmd.Parameters.AddWithValue("@Emp_ID", this.Txt_Emp_ID.Text.ToString());
               cmd.Parameters.AddWithValue("@School_ID", row.Cells[2].Value).DbType = DbType.Int32;
               cmd.Parameters.AddWithValue("@Schol_Start", row.Cells[3].Value).DbType = DbType.String;
               cmd.Parameters.AddWithValue("@Schol_User", this.Txt_User.Text.ToString());
               cmd.Parameters.AddWithValue("@Schol_Date", DateTime.Today.ToString("yyyy/MM/dd").ToString());

الاول بعدد 6 والثاني بعدد 5 مش ملاحظ انك لم تعطي قيمة لـ 
PHP كود :
@Schol_ID 

اتمنى مراجعة الامر او ارفاق المثال من خلال قاعدة بيانات Access
سيسهل عليك الامر فى عملية اطلاع الجميع الامر
وبعد اتمام فهم الامر وامتلاك الكود يمكنك تعديل الكود من Access الى Sql بكل سهولة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
تغير كود من vb.net ال سي شارب - بواسطة amonem - 07-07-19, 02:18 PM
RE: تغير كود من vb.net ال سي شارب - بواسطة elgokr - 08-07-19, 11:30 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] خطا في تغير شاشه البدايه Ahmed Rady 0 247 17-03-25, 05:47 AM
آخر رد: Ahmed Rady
  [سؤال] مساعدة في سي شارب سيد أحمد 11 1,003 06-07-24, 01:50 PM
آخر رد: سيد أحمد
  مساعدة فى سى شارب ضرورى جدا said-12 2 799 09-06-24, 09:06 PM
آخر رد: Kamil
  مساعدة فى سى شارب said-12 3 749 14-02-24, 12:17 AM
آخر رد: Taha Okla
Star [VB.NET] السلام عليكم.. ممكن مساعدتي في تغير كود منWebBrowser الى webView2 Coder_iraqii 3 868 16-12-23, 03:48 PM
آخر رد: Kamil
  [سؤال] السلام عليكم بدون زحمة عندي نظام ارشفة مشتغلة بلغة سي شارب وقاعدة بيانات سكوال سيرفر مرتضى 1 1,144 13-05-23, 10:36 PM
آخر رد: عبدالله الدوسري
  كيفية ضبط مقاس دقة الشاشة للمشروع بلغة السي شارب صبري بامرحول 1 1,671 01-05-22, 03:09 AM
آخر رد: سعود
  تحويل كود سي شارب الي فاكشن داخل سيكول سيرفر amonem 0 1,243 10-03-22, 11:32 AM
آخر رد: amonem
  [سؤال] هل هناك شخص متمكن من السي شارب والmysql ؟ Saso 1 1,627 03-07-21, 02:32 PM
آخر رد: asemshahen5
  [C#.NET] ربط قاعدة بيانات الأكسس بسى شارب محمود احمد سعد 12 4,312 17-04-21, 06:49 AM
آخر رد: amiria

التنقل السريع :


يقوم بقرائة الموضوع: