Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > อยากทราบว่า นำข้อมูล .txt เข้าฐานข้อมูลSQL2008 ด้วย visual C# อย่างไรค่ะ



 

อยากทราบว่า นำข้อมูล .txt เข้าฐานข้อมูลSQL2008 ด้วย visual C# อย่างไรค่ะ

 



Topic : 049868

Guest




2007 08 06 14 37 33 25.180 22.475 62.871
2007 08 06 14 39 33 25.080 21.975 61.866
2007 08 06 14 41 33 25.000 22.288 61.523
2007 08 06 14 43 33 24.680 21.850 64.835
2007 08 06 14 45 33 24.510 21.850 62.912
2007 08 06 14 47 33 24.860 22.038 60.686
2007 08 06 14 49 33 24.930 22.038 62.920
2007 08 06 14 51 33 24.970 21.788 60.673
2007 08 06 14 53 33 25.100 21.850 62.080
2007 08 06 14 55 33 25.050 21.913 60.231
2007 08 06 14 57 33 25.060 22.038 58.370
2007 08 06 14 59 33 24.910 21.913 61.418
2007 08 06 15 01 33 25.260 22.538 59.227
2007 08 06 15 03 33 25.260 22.225 60.900
2007 08 06 15 05 33 24.920 21.975 60.605
2007 08 06 15 07 33 24.850 21.850 61.950
2007 08 06 15 09 33 24.900 22.163 61.085
2007 08 06 15 11 33 25.100 22.475 59.325
2007 08 06 15 13 33 25.180 22.163 57.712


ตัวอย่างข้อมูล1ไฟล์ค่ะ 1วรรคคือ1คอร์ลัม ซึ่งแต่ละครั้งต้องเก็บอยู่ในฐานข้อมูลเดิม ข้อมูลไฟล์ใหม่ต้องต่อท้ายบรรดทัดข้อมูลเก่าค่ะ ไฟล๋แต่ล่ะไฟล์จะเหมือนกันค่ะทั้งช่วงของคอร์ลัม บรรทัด ช่วยหน่อน่ะค่ะ



Tag : .NET, Ms SQL Server 2008, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-10-06 21:48:32 By : van View : 1533 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Go to : (C#) ASP.NET Read Text File

Go to : C# เขียนฟังชั่น Split คำโดยไม่ใช้ เมธอท Split ให้ดูทีสิครับ ท่านผุ้เชี่ยวชาญ

Go to : ASP.NET System.Data.SqlClient - ExecuteNonQuery()






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-06 22:33:34 By : webmaster
 


 

No. 2

Guest


ขอบคุณค่ะ mr.win ดูแล้วไม่เข้าใจเลยค่ะ


ขอผู้เชี่ยวชาญช่วยหน่อยน่ะค่ะ เริ่มตรงไหนดี ช่วยหนูคิดโค๊ตหน่อยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-06 23:03:01 By : van
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คือมันจะต้องเขียน C# อ่าน text file มาก่อนน่ะครับ จากนั่นก็ใช้ function split เพื่อดึงค่าต่าง ๆ ลงใน database ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-07 07:16:54 By : webmaster
 


 

No. 4



โพสกระทู้ ( 19 )
บทความ ( 0 )



สถานะออฟไลน์


อันนี้เป็นตัวอย่าง Code vb น่ะค่ะ
อันดับแรกเลยเราต้องอ่านข้อมูลมาหนึ่งบรรทัดก่อนแล้วค่อยตัดค่ะ
Code (C#)
    Dim sr As StreamReader
    Dim filename As String = "conn.DAT" 'ชื่อ txt ไฟล์
    dim txt as string
     If File.Exists(filename) = True Then 'เช็คว่ามีไฟล์อยู่รึป่าว
      sr = New StreamReader(filename)
      txt = sr.ReadLine()'อ่านข้อมูลมาหนึ่งบรรทัด

จากนั้นเราก็เอา txt มาตัดค่ะ 
for each data as string in txt .split(" ")' ตัดเมื่อเจอชอ่งว่าง

จากนั้นเราก็เอาไอ้ตัวแปร data ไปใช้ได้เลยค่ะ
next 

      sr.Close()
      End If


ประมาณนี้น่ะค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-07 09:18:58 By : poipypunch_9
 


 

No. 5



โพสกระทู้ ( 162 )
บทความ ( 0 )



สถานะออฟไลน์


SSIS ของ SQL SERVER ลองศึกษาดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-07 11:32:32 By : superpheak
 


 

No. 6



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


Code (C#)
using PrivateImportExport;
....
....

namespace somenamespace
{
        ....
        ....

        private void button1_Click(object sender, EventArgs e)
        {
            this.capResultStr = string.Empty;

            string fileLocation = @"D:\BIN\TEST.DATA";
            ImportDataFileManager myImporter = new ImportDataFileManager(fileLocation);
            myImporter.OnImportData += new OnImportDelegate(this.BeginImportDataItem);
            myImporter.ImportNow();

            MessageBox.Show(this.capResultStr);
        }

        string capResultStr = string.Empty;
        private void BeginImportDataItem(ImportDataArgs varImportDataItem)
        {
            //insert data from varImportDataItem into sqlserver here
            capResultStr = capResultStr + varImportDataItem.ToString() + "\n";
        }
}

//ส่วนข้างล่างนี้จะเก็บใน ไฟล์เดียวหรือจะ new item >> class แล้ว paste ก็ได้ค่ะ
namespace PrivateImportExport
{

    public delegate void OnImportDelegate(ImportDataArgs varImportDataItem);

    public class ImportDataFileManager
    {
        public event OnImportDelegate OnImportData;

        private string _FileLocation = String.Empty;

        public string FileLocation
        {
            get { return _FileLocation; }
            set
            {
                if (System.IO.File.Exists(value))
                    _FileLocation = value;
            }
        }

        public ImportDataFileManager(string varFileLocation)
        {
            this.FileLocation = varFileLocation;
        }

        public int ImportNow()
        {
            int totalRecord = 0;

            using (System.IO.StreamReader myReader = new System.IO.StreamReader(this.FileLocation))
            {
                int LineNumber = 0;
                while (myReader.Peek() >= 0)
                {
                    string DataLineStr = myReader.ReadLine();
                    ImportDataArgs myImportDataItem
                        = new ImportDataArgs(LineNumber++, DataLineStr);

                    //prevent un-inherit method
                    if (OnImportData != null)
                        OnImportData(myImportDataItem);

                    if(!myImportDataItem.HasError)
                        totalRecord++;
                }
            }
            return totalRecord;
        }

    }

    public class ImportDataArgs
    {
        private int _RecordNumber = 0;
        private DateTime _DateField;
        private double _FieldA = 0;
        private double _FieldB = 0;
        private double _FieldC = 0;
        private bool _HasError = false;

        private IFormatProvider thFormatFromCultureInfo 
            = new System.Globalization.CultureInfo("th-TH", true);

        public int RecordNumber
        {
            get { return _RecordNumber; }
            set { _RecordNumber = value; }
        }

        public DateTime DateField
        {
            get { return _DateField; }
            set { _DateField = value; }
        }

        public double FieldA
        {
            get { return _FieldA; }
            set { _FieldA = value; }
        }
        public double FieldB
        {
            get { return _FieldB; }
            set { _FieldB = value; }
        }
        public double FieldC
        {
            get { return _FieldC; }
            set { _FieldC = value; }
        }

        public bool HasError
        {
            get { return _HasError; }
            set { /*do nothing*/ }
        }


        public ImportDataArgs(int varRecordNumber, DateTime varDateField
            , double varFieldA, double varFieldB, double varFieldC)
        {
            this.RecordNumber = varRecordNumber;
            this.DateField = varDateField;
            this.FieldA = varFieldA;
            this.FieldB = varFieldB;
            this.FieldC = varFieldC;
        }

        private double SafeConvertStrToDouble(string varData)
        {
            double result = 0;
            double.TryParse(varData, out result);
            return result;
        }

        private int SafeConvertStrToInt(string varData)
        {
            int result = 0;
            int.TryParse(varData, out result);
            return result;
        }

        public ImportDataArgs(int varLineNo, string varImportDataLine)
        {
            // with this format
            // 2007 08 06 14 37 33 25.180 22.475 62.871
            this.RecordNumber = varLineNo;

            int myYear = 0, myMonth = 0, myDay = 0;
            int myHour = 0, myMinute = 0, mySecond = 0;
            double myFieldA = 0, myFieldB = 0, myFieldC = 0;
            DateTime myDateField;

            try
            {
                string[] DataStr = varImportDataLine.Split(new char[] { ' ' }
                    , StringSplitOptions.RemoveEmptyEntries);

                myYear = SafeConvertStrToInt(DataStr[0]);
                myMonth = SafeConvertStrToInt(DataStr[1]);
                myDay = SafeConvertStrToInt(DataStr[2]);

                myHour = SafeConvertStrToInt(DataStr[3]);
                myMinute = SafeConvertStrToInt(DataStr[4]);
                mySecond = SafeConvertStrToInt(DataStr[5]);

                myFieldA = SafeConvertStrToDouble(DataStr[6]);
                myFieldB = SafeConvertStrToDouble(DataStr[7]);
                myFieldC = SafeConvertStrToDouble(DataStr[8]);

                this.DateField = new DateTime(myYear, myMonth, myDay
                    , myHour, myMinute, mySecond);

                this.FieldA = myFieldA;
                this.FieldB = myFieldB;
                this.FieldC = myFieldC;

                this.HasError = false;
            }
            catch
            {
                this.HasError = true;
            }

        }

        public override string ToString()
        {
            string tempStr  = string.Empty ;
             
            tempStr = string.Format("{0} {1} {2} {3} {4} {5}" 
                ,this.RecordNumber.ToString ("00000") 
                ,this.DateField.ToString("ddd d/MMM/yyyy hh:mm:ss", thFormatFromCultureInfo )
                ,this.FieldA.ToString ("#,##0.000")
                ,this.FieldB.ToString ("#,##0.000")
                ,this.FieldC.ToString ("#,##0.000")
                ,(this.HasError? "*Error" :string.Empty  ));
            return tempStr;
        }
    }
}




ตัวข้อมูลก้อจากของคุณแหละค่ะ

textfile

นี่ screen shot ที่มี excel อยู่ข้างหลังเพราะกำลังเขียน excel project อยู่ค่ะใน vss2008 มี project type มาใหม่
คือพวก office project เลยลองๆเขียนดู ซึ่งมันเขียน c# ได้ตามปกติเพียงแต่ this จะกลายเป็น excel object ไป
code นี้ยาวหน่อยเพราะตั้งเขียนไปสอนไปค่ะ พยายามเขียนให้ตัว code อธิบายตัวเอง สงสัยตรงไหนถามค่ะ

ส่วนการ insert ลงฐานข้อมูลให้ เขียนลงไปที่บรรทัด 24-25 แทรก code ลงไปเลย ทำมาให้ครึ่งนึงละ
ที่เหลือไม่น่าจะยากละมังคะ


ประวัติการแก้ไข
2010-10-07 13:03:15
2010-10-07 13:04:26
2010-10-07 13:06:35
2010-10-07 13:12:35
2010-10-07 13:12:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-07 12:59:00 By : blurEyes
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบว่า นำข้อมูล .txt เข้าฐานข้อมูลSQL2008 ด้วย visual C# อย่างไรค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่