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

ارجو المساعده If Exsist update record else insert

بدأه Mejo Magic في 7 فبراير 2012 · 0 رد · 261 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1

مرحبا اخواني اعضاء منتدي الفريق العربي

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

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

واذا لم توجد هذي البيانات يقوم بـ ادخالها عن طريق insert

بصراحه انا ضعت شوي مع البرنامج lمحتاج شوية logic :wacko:

لكن الاكيد راح يكون خط سير البرنامج

لو كان عندنا قاعدتين مثلا الاولى table1 والثانية table2

راح يكون هنا التعديل على القاعده الاولى بحيث القاعده الثانية هي اللي تحتوي على البيانات المحدثه

اول شي راح ناخذ بيانات القاعده الثانية table2 ونضعها في datatable

بعدين نقارن بيانات datatable مع قاعدة البيانات الاولى table1

انا كتبة الكود لكن وقت ادخال البيانات البرنامج يعطي error بـ sql statement

ارجو المساعده بتصحيح الكود واذا فيه احسن ياليت يطرح

            myConnection = new OleDbConnection();
            myConnection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\My Documents\testENV\InsertUpdate\InsertUpdate\AppData\dbTest1.mdb;Persist Security Info=True";
            myCommand = new OleDbCommand();
            myCommand.Connection = myConnection;
            string slctQry = "select * from table1";
            DataAdapter = new OleDbDataAdapter(slctQry,myConnection);
            string Acount, Name, Mobile, City;
            Acount = Name = Mobile = City = "";
            myTable = new DataTable();
            DataAdapter.Fill(myTable);
            //------------- the otherConnection and DataBase
            OleDbConnection con = new OleDbConnection();
            con.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator"
            +@"\My Documents\testENV\InsertUpdate\InsertUpdate\AppData\dbTest2.mdb;Persist Security Info=True";
            OleDbCommand com = new OleDbCommand();
            com.Connection = con;
            String qry = "IF EXISTS (SELECT ID FROM table2 WHERE Acount = '"+Acount+"') ";
            qry += " BEGIN";
            qry += "UPDATE table2 SET Name = '" + Name + "', Mobile = '" + Mobile + "', City = '" + City + "' WHERE Acount = '" + Acount + "'";
            qry += " END";
            qry += " ELSE";
            qry += " BEGIN";
            qry += "INSERT INTO table2 (Acount,Name,Mobile,City) VALUES (@Acount,@Name,@Mobile,@City) ";
            qry += "END";
            com.CommandText = qry;
            con.Open();
            //-------------- End
            foreach (DataRow dr in myTable.Rows)
            {
                com.Parameters.Clear();
                Acount = dr["Acount"].ToString();
                Name = dr["Name"].ToString();
                Mobile = dr["Mobile"].ToString();
                City = dr["City"].ToString();
                com.Parameters.AddWithValue("@Acount",Acount);
                com.Parameters.AddWithValue("@Name", Name);
                com.Parameters.AddWithValue("@Mobile", Mobile);
                com.Parameters.AddWithValue("@City", City);
                com.ExecuteNonQuery();
            }

والمشروع موجود بالمرفق

تحياتي

InsertUpdate.rar

تم تعديل هذه المشاركة بواسطة Mejo Magic في 7 فبراير 2012 في 21:45

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