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

how to read from file then insert in sql

بدأه hamed123 في 24 فبراير 2012 · 5 رد · 530 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السؤال عليكم إخواني بارك الله فيكم

كيف أستطيع أن أقرأ من تكست فايل (نوت باد) كما في الصورة ومن ثم أخذ البيانات التي قرئتها وأعملها insert داخل قاعدة بيانات sqlتحتوي علي جدول يحتوي علي 4 أعمده بحيث كل قسمة في التكتست قبل (*) تعتبر في عمودعلي حده أفيدوني أكرمكم الله

post-249931-026675700 1330102040_thumb.p

المرفقات
Txt.PNG

تم تعديل هذه المشاركة بواسطة hamed123 في 24 فبراير 2012 في 19:58

#2

جرب هذة الفكشن

 public static DataTable ParseCSV(string path)
        {
            if (!File.Exists(path))
                return null;

            string full = Path.GetFullPath(path);
            string file = Path.GetFileName(full);
            string dir = Path.GetDirectoryName(full);

            //create the "database" connection string
            string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
              + "Data Source=\"" + dir + "\\\"*"
              + "Extended Properties=\"text;\"";

            //create the database query
            string query = "SELECT * FROM " + file;

            //create a DataTable to hold the query results
            DataTable dTable = new DataTable();

            //create an OleDbDataAdapter to execute the query
            OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);

            try
            {
                //fill the DataTable
                dAdapter.Fill(dTable);
            }
            catch (InvalidOperationException /*e*/)
            { }

            dAdapter.Dispose();

            return dTable;
        }
#3

للأسف يأخي الكريم ممكن يأخي تنفذه عن طريق الstream reader وتقرأ الفايل وتخزنه ومن ثم تدخل جملة insert عن طريق الsqlCommand انا مش عارف ازاي افصل كل كلمه قبل اوبعد(*) في variable كلا علي حده ومن ثم لو عرفت اجيب كل واحده لوحدها هقدر اعمل انسيرت بسهوله من فضلك حاول تساعدني بارك الله لك

#4

شكرا عملتها

#5

لا شكر علي واجب

#6

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

اخى العزيز

ممكن كمان تستخدم

BULK INSERT

BULK INSERT AdventureWorks2008R2.Sales.SalesOrderDetail
   FROM 'f:\orders\lineitem.tbl'
   WITH 
      (
         FIELDTERMINATOR =' *',
         ROWTERMINATOR =' |\n'
      )

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

FIELDTERMINATOR =' *' دى معنها انه بيفرق بين كل واحدة من دول و يضعها فى col

ROWTERMINATOR =' |\n' دى معنها ان بينزل لل row التانى بعد نهاية السطر

اتمنى اكون افدتك

الرابط الخاص بي

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