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 > ขอรบกวนพี่ๆช่วยแนะนำหน่อยครับ อยากให้กด Insert ทีเดียว ต้องทำยังไงครับ



 

ขอรบกวนพี่ๆช่วยแนะนำหน่อยครับ อยากให้กด Insert ทีเดียว ต้องทำยังไงครับ

 



Topic : 118938



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



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




ยังไงช่วยหน่อยนะครับ


ฟกฟหกหฟก



Tag : ASP, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-17 15:59:42 By : treesak113 View : 1400 Reply : 31
 

 

No. 1



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

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

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

Code (VB.NET)
For i As Integer = 0 To dataGridView.Rows.Count - 1
	If dataGridView.Rows(i).Cells("ABC").Value.ToString() <> "" Then
			' Insert Statement
	End If
Next







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-17 21:47:25 By : mr.win
 


 

No. 2



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

Code (VB.NET)
Public Function GetFilesInFolder(strPath As String, Optional _Extension As String = ".MP3") As List(Of String)
        Dim result As New List(Of String)
        Dim stack As New Stack
        stack.Push(strPath)
        While stack.Count > 0
            Dim dir As String = stack.Pop()
            Dim _ext As String = IIf((_Extension.Substring(0, 1) <> "*"), "*" + _Extension, _Extension)
            result.AddRange(System.IO.Directory.GetFiles(dir, _ext))
            Dim directoryName As String = ""
            For Each directoryName_loopVariable As String In System.IO.Directory.GetDirectories(dir)
                directoryName = directoryName_loopVariable
                stack.Push(directoryName)
            Next

        End While
        Return result
    End Function


Code (VB.NET)
Dim Files As List(Of String) = GetFilesInFolder("X:\REPORT\Arsenic", ".Report")
        For Each file As String In Files
            'ยืมพี่วินมาใช้นะครับ 
            If dataGridView.Rows(i).Cells("ABC").Value.ToString() <> "" Then
			' Insert Statement
	   End If
        Next


บ้าน ๆ ที่ผมทำอยู่ ก็เป็นแบบนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-18 09:02:59 By : lamaka.tor
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-18 09:02:59
รายละเอียดของการตอบ ::
ขอบคุณครับ

พี่ครับแล้วถ้าเราเขียนเป็น

Code (VB.NET)
 Public Function GetFilesInFolder(ByVal strPath As String, Optional ByVal _Extension As String = ".xlsx") As List(Of String)
        Dim result As New List(Of String)
        Dim stack As New Stack
        stack.Push(strPath)
        While stack.Count > 0
            Dim dir As String = stack.Pop()
            Dim _ext As String = IIf((_Extension.Substring(0, 1) <> "*"), "*" + _Extension, _Extension)
            result.AddRange(System.IO.Directory.GetFiles(dir, _ext))
            Dim directoryName As String = "D:\FileData\Excel"
            For Each directoryName_loopVariable As String In System.IO.Directory.GetDirectories(dir)
                directoryName = directoryName_loopVariable
                stack.Push(directoryName)
            Next
        End While
        Return result
    End Function


เแล้วเวลาเราจะเรียกใช้งาน Function GetFilesInFolder เราจะเรียกยังไงครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-19 14:11:07 By : treesak113
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-09-17 21:47:25
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-19 14:11:33 By : treesak113
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : treesak113 เมื่อวันที่ 2015-09-19 14:11:07
รายละเอียดของการตอบ ::
Code (VB.NET)
Dim Files As List(Of String) = GetFilesInFolder("X:\REPORT\Arsenic", ".Report")
        For Each file As String In Files
            'ยืมพี่วินมาใช้นะครับ 
           If dataGridView.Rows(i).Cells("ABC").Value.ToString() <> "" Then
			' Insert Statement
	   End If
        Next



เขาว่ามางั้นอ่าครับในคำตอบ No. 2

บ้านๆคือ
1 . List file มาก่อนครับ
2 . Insert Statement

ปล
อย่างจะใช้ใน "D:\FileData\Excel"
ก๊

Code (VB.NET)
1 . List file มาก่อนครับ 
Dim Files As List(Of String) = GetFilesInFolder( "D:\FileData\Excel", ".xlsx") 
2 . Insert Statement
        For Each file As String In Files
            'ยืมพี่วินมาใช้นะครับ 
           If dataGridView.Rows(i).Cells("ABC").Value.ToString() <> "" Then
			' Insert Statement
	   End If
        Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-19 14:24:26 By : lamaka.tor
 


 

No. 6



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



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


คืมผมจะแทรกโค้ดตรงไหนครับ

ขั้นตอนการรัน
1.กด Start
2.เอารายการไพล์ใน Listbox เพิ่มเข้า SQL Auto เลย
3.จบการทำงาน



ฟฟฟฟฟ

Code (VB.NET)
Imports System.IO
Imports System.Text
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label5.Text = ""
    End Sub

    Sub Show_Data()
        Try
            Dim Myconnection As System.Data.OleDb.OleDbConnection
            Dim dataset As System.Data.DataSet
            Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
            Dim path As String = TextBox1.Text & "\" & ListBox1.SelectedItem.ToString
            Myconnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
            MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", Myconnection)
            dataset = New System.Data.DataSet
            MyCommand.Fill(dataset)
            DataGridView1.DataSource = dataset.Tables(0)
            Myconnection.Close()
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
    End Sub

    Sub LoadingListFileDire()
        Dim myDirInfo As DirectoryInfo
        Dim arrFileInfo As Array
        Dim myFileInfo As FileInfo
        myDirInfo = New DirectoryInfo(("D:/FileData/Excel/"))
        arrFileInfo = myDirInfo.GetFiles("*.xlsx")
        For Each myFileInfo In arrFileInfo
            ListBox1.Items.Add(myFileInfo.Name)
        Next myFileInfo
        myDirInfo = Nothing
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        DataGridView1.DataSource = Nothing
        Show_Data()
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Try
            Application.DoEvents()
            Dim cn As New SqlConnection("Data Source=OLE-PC\SQLEXPRESS;Initial Catalog=DATA1;Integrated Security=True")
            cn.Open()
            Dim cm As New SqlCommand
            With cm
                .Connection = cn
                For i As Integer = 0 To DataGridView1.RowCount - 1
                    .CommandText = "insert into Data_Name1 values('" & DataGridView1.Rows(i).Cells(0).Value & "','" & DataGridView1.Rows(i).Cells(1).Value & "','" & DataGridView1.Rows(i).Cells(2).Value & "','" & DataGridView1.Rows(i).Cells(3).Value & "')"
                    .ExecuteNonQuery()
                Next
            End With
            cm.Dispose()
            cm = Nothing
            With cn
                .Close()
                .Dispose()
            End With
            cn = Nothing
            MsgBox("Done", MsgBoxStyle.Information, "info")
            btnSave.Enabled = True
        Catch ex As Exception
            MsgBox("Error")
        End Try
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        DataGridView1.DataSource = Nothing
    End Sub


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-19 14:25:21 By : treesak113
 


 

No. 7



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

นี่คือโค๊ดที่ผมใช้ใน ออฟฟสครับ โทษทีม่มีเวลาแปลงเปน vb.net
หลักการคือ
1 list file ออกมาก่อนครับ
2 copy file ไป temp เพื่อความสะดวก
3 Excel to DataTable (ของผมมี 2 sheet ) แล้วดึงเกบใน dataGridView สำรอง
4 loop เพื่อเอาข้อมูลจาก dataGridView สำรองแต่ละแถวใส่ dataGridView รวม

วิธีนี้ผมใช้แค่ไว้ให้ผู้จัดการดูผลการทดสอบ(ไม่สามารถแก้ไข ไฟล์ excel ได้)


Code (C#)
public static System.Data.DataTable GetTableFormExcel(string _SQL, string FileExcel)
        {
            string _ConnectionString = @"Data Source=" + FileExcel + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;";
            try
            {
                System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(_ConnectionString);
                conn.Open();
                string strQuery = _SQL;
                System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn);
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
                return ds.Tables[0];
            }
            catch { return null; }
            
        }

private void RefreshData()
        {
            Text = "กรุณารอ...";
            Cursor = Cursors.WaitCursor;
            pathTemp = System.IO.Path.GetTempPath() + "\\Report" + String.Format("{0:ddMMyyyy HHmmss}", DateTime.Now);
            TORServices.clsFile_Path.CreatePath(pathTemp);
            List<string> _file = new List<string>();
            _file = TORServices.clsFile_Path.GetFilesRecursive(TORServices.clsPathData.Path_AllReport, "*.Report");///@"H:\REPORT"
            if (_file.Count <= 0) { Cursor = Cursors.Default; return; }
            if (dt != null) { dt = null; }
            dt = new DataTable();
            dt.Columns.Add(new DataColumn("SampleID", typeof(string)));
            dt.Columns.Add(new DataColumn("Parameter", typeof(string)));
            dt.Columns.Add(new DataColumn("Value", typeof(string)));
            dt.Columns.Add(new DataColumn("Date", typeof(string)));
            dt.Columns.Add(new DataColumn("ผู้วิเคราะห์", typeof(string)));
            dt.Columns.Add(new DataColumn("Seleced", typeof(Boolean)));
            string FileExcel;
            foreach (string _f in _file)
            {
                //เช็คการเปิดไฟล์ถ้าเปิดให้ก๊อบไปวางที่ Temp
                if (System.IO.File.GetCreationTime(_f) >= dateTimePicker1.Value && System.IO.File.GetCreationTime(_f) <= dateTimePicker2.Value)
                {
                    //MessageBox.Show(_f);
                    if (!(TORServices.clsFile_Path.IsFileExcelOpen(_f)))
                    {
                        FileExcel = System.IO.Path.GetTempPath() + String.Format("{0:ddMMyyyy HHmmss}", DateTime.Now) + ".Report";
                        System.IO.File.Copy(_f, FileExcel);
                    }
                    else
                    {
                        FileExcel = _f;
                    }
                    //  FileExcel = _f;
                    DataTable _dt1 = GetTableFormExcel("SELECT * FROM `mg_Kg$Print_Area`", FileExcel);
                    DataTable _dt2 = GetTableFormExcel("SELECT * FROM `mg_L$Print_Area`", FileExcel);

                    if (_dt1 != null) { dgvmgKg.DataSource = _dt1; }
                    if (_dt2 != null) { dgvmgL.DataSource = _dt2; }
                    for (int i = 0; i < this.dgvmgL.RowCount - 1; i++)
                    {
                        if (this.dgvmgL[this.dgvmgL.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
                        {
                            DataRow dr = dt.NewRow();
                            dr["SampleID"] = this.dgvmgL[this.dgvmgL.ColumnCount - 6, i].Value.ToString().Trim();
                            dr["Parameter"] = this.dgvmgL[this.dgvmgL.ColumnCount - 5, i].Value.ToString().Trim();
                            dr["Value"] = this.dgvmgL[this.dgvmgL.ColumnCount - 4, i].Value.ToString().Trim();
                            dr["Date"] = this.dgvmgL[this.dgvmgL.ColumnCount - 3, i].Value.ToString().Trim();
                            dr["ผู้วิเคราะห์"] = this.dgvmgL[this.dgvmgL.ColumnCount - 2, i].Value.ToString().Trim();
                            dr["Seleced"] = false;
                            dt.Rows.Add(dr);
                        }
                    }

                    for (int i = 0; i < this.dgvmgKg.RowCount - 1; i++)
                    {
                        if (this.dgvmgKg[this.dgvmgKg.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
                        {
                            DataRow dr = dt.NewRow();
                            dr["SampleID"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 6, i].Value.ToString().Trim();
                            dr["Parameter"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 5, i].Value.ToString().Trim();
                            dr["Value"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 4, i].Value.ToString().Trim();
                            dr["Date"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 3, i].Value.ToString().Trim();
                            dr["ผู้วิเคราะห์"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 2, i].Value.ToString().Trim();
                            dr["Seleced"] = false;
                            dt.Rows.Add(dr);
                        }
                    }
                    dataGridView1.DataSource = dt;
                    dataGridView1.Columns[3].Width = 120;
                    dataGridView1.Columns[4].Width = 150;
                    dataGridView1.Columns[5].Width = 60;
                    dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);
                    Cursor = Cursors.Default;
                    Text = "Report HM";
                }
            }

        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-19 22:24:38 By : lamaka.tor
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-19 22:24:38
รายละเอียดของการตอบ ::
ขอบคุณครับ พี่แต่ผมไม่ค่อยถนัด C# ขอถามต่ออีกนิดนะครับ

คือสำหรับโปรเจดนี้ผมทำได้หมดแล้วแต่แค่ผมอยากทำให้รันเองเลยโดยการกด Start

ถ้ารันแบบ manual คือ
-เลือก Diretrory
-จากนั้นมาเลือก List File ใน ListBox แล้วกด ปุ่ม > แล้วจะขึ้น Data ใน DataGridview จากนั้น
-ค่อยกด Save to SQL

แบบนี้ครับ พี่ครับแล้วเราจะเอาไพล์ Excel ทั้งหมดใน List มากรวมกันเลยที่ DataGrivew เลยได้ไหมครับ ถ้าได้จะรวมยังไงครับ พอจะมีตัวอย่างไหมครับ ที่เอาไพล์ทั้งหมดใน Listbox มารวมกันที่ DataGridview

ขอบคุณครับ




แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-20 14:31:00 By : treesak113
 


 

No. 9



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : treesak113 เมื่อวันที่ 2015-09-20 14:31:00
รายละเอียดของการตอบ ::
ที่ให้ใน No. 7 คือการรวมทั้งหมดมารวมใน grid เดียวกันอ่าครับ


ถามย้อนนดนึงครับ Excel ที่ว่านี่สามารถแก้ข้อมูลด้เรื่อย ๆป่าวครับ
แค่สงสัยว่าถ้าเมื่อวานแก้ข้อมูลใน Excel แล้วมาวันนี้แก้อีกมันจะ บันทึกข้อมููลลง SQL ซ้ำกันไม๊



ประวัติการแก้ไข
2015-09-20 20:17:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-20 20:13:43 By : lamaka.tor
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-20 20:13:43
รายละเอียดของการตอบ ::
ออ พี่ครับ จะไม่มีการแก้ไขครับเพราะไพล์ Data ใน Excel แต่ละไพล์จะมี SN_NO ไม่ซ้ำกันอยู่แล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-20 20:54:10 By : treesak113
 


 

No. 11



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

Code (VB.NET)
Private Sub RefreshData()

        'ตั้งค่า OleDbConnection
        Dim _ConnectionString As String
        Dim conn As System.Data.OleDb.OleDbConnection
        'loop เพื่อ เอาข้อมูลในแต่ละไฟล์มาใส่ใน DataGridView
        For Each myFileInfo As String In System.IO.Directory.GetFiles(txtPath.Text, ".xlsx")
            ListBox1.Items.Add(myFileInfo)
            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
            _ConnectionString = (Convert.ToString("Data Source=") & myFileInfo) + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
            conn = New System.Data.OleDb.OleDbConnection(_ConnectionString)
            conn.Open()
            Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM `mg_Kg$Print_Area`", conn)
            Dim ds As New System.Data.DataSet()
            adapter.Fill(ds)
            If DataGridView2.RowCount - 1 > 0 Then
                For i As Integer = 0 To DataGridView2.RowCount - 1
                    ds.Tables(0)(i).Item(0).ToString()
                    'เอา เอาข้อมูลในแต่ละ Rows มาใส่ใน DataGridView
                    DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())
                Next
            End If
            conn.Close()
        Next

        ' แล้วมันก็ครบทุกไฟล์ 55555

    End Sub


พอดีหายเมาเลยมาเขียนให้ครับ 5555 เอาไปปลายุคเอาละกัน


หลักการบ้าน ๆ
1. list file
2. Connection แต่ละ ไฟล์ แล้วเอาข้อมูลมูลมาใช้


เป็นไฟล์ที่ในอนาคตจะไม่มีการเปิดมาแก้ไขอีกแล้วก็ดีครับ
เพราะแบบนั้นไม่แนะนำให้บันทึกลง SQL ซ้ำอีกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 08:57:18 By : lamaka.tor
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-21 08:57:18
รายละเอียดของการตอบ ::
ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 17:07:29 By : treesak113
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-21 08:57:18
รายละเอียดของการตอบ ::
พี่ครับแล้วตรงที่ `mg_Kg$Print_Area` คืออะไรครับ


Code (VBScript)
 Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM `mg_Kg$Print_Area`", conn)


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 17:29:01 By : treesak113
 


 

No. 14



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 13 เขียนโดย : treesak113 เมื่อวันที่ 2015-09-21 17:29:01
รายละเอียดของการตอบ ::

mg_Kg$ คือ ชื่อ worksheet ครับ
Print_Area คือขอบเขตการใช้งานผมใช้ Print_Area


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 17:44:56 By : lamaka.tor
 


 

No. 15



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



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


ตอบความคิดเห็นที่ : 14 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-09-21 17:44:56
รายละเอียดของการตอบ ::
ลองแล้วทำไมไม่ได้เลยครับ พอจะมีไพล์ Project ตัวอย่างไหมครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 17:52:03 By : treesak113
 


 

No. 16



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 15 เขียนโดย : treesak113 เมื่อวันที่ 2015-09-21 17:52:03
รายละเอียดของการตอบ ::
ติดตรงไหนครับ
อาจจะแหกไปเลยคือลองใช้ VB.NET Excel Interop ดูก็ได้ครับ
https://www.google.com/search?q=vb.net+interop+excel&ie=utf-8&oe=utf-8


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 18:29:30 By : lamaka.tor
 


 

No. 17



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



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


พี่ครับ Error แบบนี้คืออะไรเหรอ

หฟกฟหก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-08 09:38:27 By : treesak113
 


 

No. 18



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



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


มีการเรียกใช้ตัวแปร Conn ก่อนที่มันจะถูก assign ค่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-08 09:54:05 By : fonfire
 


 

No. 19



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ใช่ ๆๆๆๆ

เรียกใช้มันก่อน

conn = new ......
มันก็เลยเป็นแบบนั้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-08 10:00:35 By : lamaka.tor
 


 

No. 20



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



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


ตอบความคิดเห็นที่ : 19 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-08 10:00:35
รายละเอียดของการตอบ ::
แล้วผมจะแก้ยังไงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-08 10:14:08 By : treesak113
 


 

No. 21



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



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


แก้ตรง Dim Conn as ........
เป็น Dim Conn as New ......
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-08 13:13:19 By : fonfire
 


 

No. 22



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



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


ทำไมกดแล้วไม่มีอะไรเกิดขึ้นเลยครับผิดตรงไหนเหรอครับ

Code (VB.NET)
 Private Sub RefreshData()
        'ตั้งค่า OleDbConnection
        Dim _ConnectionString As String
        Dim conn As New System.Data.OleDb.OleDbConnection

        'loop เพื่อ เอาข้อมูลในแต่ละไฟล์มาใส่ใน DataGridView                     (C:\Users\pannita_w\Desktop\Data1)
        For Each myFileInfo As String In System.IO.Directory.GetFiles(TextBox3.Text, ".xlsx")

            ' เอาชื่อ List file ทั้่งหมดมาแสดงใน Listbox
            ListBox1.Items.Add(TextBox3.Text)

            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If

            _ConnectionString = (Convert.ToString("Data Source=") & myFileInfo) + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
            conn = New System.Data.OleDb.OleDbConnection(_ConnectionString)
            conn.Open()                                                                              ' Data อยู่ใน Sheet = Data
            Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Data$]", conn)
            Dim ds As New System.Data.DataSet()
            adapter.Fill(ds)
            ' Gridview 2 To 1   (ช่วยอธิบายด้วยนะครับ ผมงงมากเลย   Gridview 2 To 1 )
            If DataGridView1.RowCount - 1 > 0 Then
                For i As Integer = 0 To DataGridView1.RowCount - 1
                    ds.Tables(0)(i).Item(0).ToString()
                    'เอา เอาข้อมูลในแต่ละ Rows มาใส่ใน DataGridView
                    DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())
                Next
            End If
            conn.Close()
        Next
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-10 10:20:13 By : treesak113
 


 

No. 23



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 22 เขียนโดย : treesak113 เมื่อวันที่ 2015-10-10 10:20:13
รายละเอียดของการตอบ ::
ต้องขอโทษในความผิดครับ

ลืม dataGridView1.DataSource = ds.Tables[0].;
ก่อนอ่าครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-10 12:11:00 By : lamaka.tor
 


 

No. 24



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

Code (VB.NET)
Private Sub RefreshData()
       'ตั้งค่า OleDbConnection
       Dim _ConnectionString As String
       Dim conn As New System.Data.OleDb.OleDbConnection

       'loop เพื่อ เอาข้อมูลในแต่ละไฟล์มาใส่ใน DataGridView                     (C:\Users\pannita_w\Desktop\Data1)
       For Each myFileInfo As String In System.IO.Directory.GetFiles(TextBox3.Text, ".xlsx")

           ' เอาชื่อ List file ทั้่งหมดมาแสดงใน Listbox
           ListBox1.Items.Add(TextBox3.Text)

           If conn.State = ConnectionState.Open Then
               conn.Close()
           End If

           _ConnectionString = (Convert.ToString("Data Source=") & myFileInfo) + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
           conn = New System.Data.OleDb.OleDbConnection(_ConnectionString)
           conn.Open()                                                                              ' Data อยู่ใน Sheet = Data
           Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Data$]", conn)
           Dim ds As New System.Data.DataSet()
           adapter.Fill(ds)
           ' Gridview 2 To 1   (ช่วยอธิบายด้วยนะครับ ผมงงมากเลย   Gridview 2 To 1 )
               For i As Integer = 0 To ds.Tables(0).Rows.Count
                   'เอา เอาข้อมูลในแต่ละ Rows มาใส่ใน DataGridView
                   DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())
               Next
           conn.Close()
       Next
   End Sub


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-10 12:24:33 By : lamaka.tor
 


 

No. 25



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



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


ตอบความคิดเห็นที่ : 24 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-10 12:24:33
รายละเอียดของการตอบ ::


-พี่ครับตรงแถว (TextBox1.Text, "*.xlsx") ต้องมี *.xlsx ไหม (ถ้าไม่ใส่ * จะไม่มีอะไรเกิดขึ้นเลยครับ)
Code (VB.NET)
  For Each myFileInfo As String In System.IO.Directory.GetFiles(TextBox1.Text, "*.xlsx")
            ' เอาชื่อ List file ทั้่งหมดมาแสดงใน Listbox
            ListBox1.Items.Add(myFileInfo)

- พี่ครับตรงที่เลือก Sheet เขียนแบบนี้ถูกไหมครับ
Code (VB.NET)
("SELECT * FROM [Sheet1$]", conn)





Code (VB.NET)
 Sub RefreshData()
        'ตั้งค่า OleDbConnection
        Dim _ConnectionString As String
        Dim conn As New System.Data.OleDb.OleDbConnection
        'loop เพื่อ เอาข้อมูลในแต่ละไฟล์มาใส่ใน DataGridView                     (C:\Users\pannita_w\Desktop\Data1)
        For Each myFileInfo As String In System.IO.Directory.GetFiles(TextBox1.Text, "*.xlsx")
            ' เอาชื่อ List file ทั้่งหมดมาแสดงใน Listbox
            ListBox1.Items.Add(myFileInfo)
            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
            _ConnectionString = (Convert.ToString("Data Source=") & myFileInfo) + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
            conn = New System.Data.OleDb.OleDbConnection(_ConnectionString)
            conn.Open()                                                        ' Data อยู่ใน Sheet = Data
            Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)
            Dim ds As New System.Data.DataSet()
            adapter.Fill(ds)
            DataGridView1.DataSource = ds.Tables(0)
            ' Gridview 2 To 1   (ช่วยอธิบายด้วยนะครับ ผมงงมากเลย   Gridview 2 To 1 )
            For i As Integer = 0 To ds.Tables(0).Rows.Count
                'เอา เอาข้อมูลในแต่ละ Rows มาใส่ใน DataGridView
                DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())
            Next
            conn.Close()
        Next
    End Sub




Error
SERTY

Thank you
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-11 11:20:23 By : treesak113
 


 

No. 26



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ต้องมี *.xlsx ครับ ผมลืมอีกแล้ว


Code (VB.NET)
Sub RefreshData()
       'ตั้งค่า OleDbConnection
       Dim _ConnectionString As String
       Dim conn As New System.Data.OleDb.OleDbConnection
       'loop เพื่อ เอาข้อมูลในแต่ละไฟล์มาใส่ใน DataGridView                     (C:\Users\pannita_w\Desktop\Data1)
       For Each myFileInfo As String In System.IO.Directory.GetFiles(TextBox1.Text, "*.xlsx")
           ' เอาชื่อ List file ทั้่งหมดมาแสดงใน Listbox
           ListBox1.Items.Add(myFileInfo)
           If conn.State = ConnectionState.Open Then
               conn.Close()
           End If
           _ConnectionString = (Convert.ToString("Data Source=") & myFileInfo) + "; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
           conn = New System.Data.OleDb.OleDbConnection(_ConnectionString)
           conn.Open()                                                        ' Data อยู่ใน Sheet = Data
           Dim adapter As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)
           Dim ds As New System.Data.DataSet()
           adapter.Fill(ds)
           ' Gridview 2 To 1   (ช่วยอธิบายด้วยนะครับ ผมงงมากเลย   Gridview 2 To 1 )
           For i As Integer = 0 To ds.Tables(0).Rows.Count
               'เอา เอาข้อมูลในแต่ละ Rows มาใส่ใน DataGridView
               DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())
           Next
           conn.Close()
       Next
   End Sub


ตัดตรง DataGridView1.DataSource = ds.Tables(0) ออก ครับเพราะผมเอาไปลงใน

DataGridView1.Rows.Add(ds.Tables(0)(i).Item(0).ToString(), ds.Tables(0)(i).Item(1).ToString(), ds.Tables(0)(i).Item(2).ToString())

เรียบร้อยแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-11 11:54:28 By : lamaka.tor
 


 

No. 27



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



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


ตอบความคิดเห็นที่ : 26 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-11 11:54:28
รายละเอียดของการตอบ ::
พี่ครับ ยัง Error อยู่ครับไม่แน่ใจเกี่ยวกับ DataGridview หรือเปล่าครับ


DataGridview เราต้อง aad คอลัม ด้วยไหมครับ
เพเกพเำเำ

หรือไม่ต้องแอด
ปหฟหกดหกด

Data From Excel
cdsgdhft



เกิด Error
feteret




ขอบคุณมากที่ให้ความรู้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-11 17:29:19 By : treesak113
 


 

No. 28



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



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


เงียบจังเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-13 17:31:08 By : treesak113
 


 

No. 29



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 27 เขียนโดย : treesak113 เมื่อวันที่ 2015-10-11 17:29:19
รายละเอียดของการตอบ ::

ใช่ครับ
ต้องมีก่อน


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-13 18:25:41 By : lamaka.tor
 


 

No. 30



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



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


พี่ครับ Eorror แบบนี้ต้องแก้ตรงไหน

124566
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-10 21:56:58 By : treesak113
 


 

No. 31



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ลองใช้วิธี cpoy ไปวางใน temp ดู

FileExcel = pathTemp + "\\" + String.Format("{0:ddMMyyyy HHmmss}", DateTime.Now) + System.IO.Path.GetFileName(_f);
System.IO.File.Copy(_f, FileExcel);

แล้วเอา FileExcel ไปใช้งาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-11 08:28:17 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอรบกวนพี่ๆช่วยแนะนำหน่อยครับ อยากให้กด Insert ทีเดียว ต้องทำยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่