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,038

HOME > .NET Framework > Forum > สอบถามปัญหาการ insert sql2000 โดยใช้ loop for แต่มันลงฐานข้อมูลแค่คนเดียวครับ(ดึงข้อมูลมาจาก Excel) .net 2005 ครับ


 

[.NET] สอบถามปัญหาการ insert sql2000 โดยใช้ loop for แต่มันลงฐานข้อมูลแค่คนเดียวครับ(ดึงข้อมูลมาจาก Excel) .net 2005 ครับ

 
Topic : 048166



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



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



ปัญหามันก้มีอยู่ว่า ผมดึงข้อมูลมาจาก excel มาไว้ใน Datagridview แล้ว ก็บันทึกลงฐานข้อมูล

sql2000 ข้อมูลใน excel แสดงถูกต้อง แต่ข้อมูลที่เราวนลูปลงไปมันมีแค่คนเดียว แต่ข้อมูลไปทุก row ครับ

ปัญหาที่ตอนที่แล้วให้ union นั่นเหละครับ อาจารย์บอกให้ไปแก้ตอนที่เรา import โดยใช้ if เลยแสดงข้อมุลง่ายดี

โดยดูที่ค่า xx30 (หมายถึงตัวอ่านที่ column31) ถ้าว่ามีเกรียตินิยมหรือไม่ 1 คือที่1 2 คือที่สอง สามคือไม่มีนั่นเอง

ผิดตรงไหนช่วยแนะนำด้วยครับ ขอบคุณมากครับผม ใกล้ถึงความจริงแล้ว เหอๆ

Code (VB.NET)
01.    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
02.        Dim i As Integer = 0
03.        Dim sqlAdd As String = ""
04.        Dim xx As OleDb.OleDbDataReader
05.        comOdb = New OleDbCommand("SELECT * FROM [ต้นฉบับ$]", Conn1)
06.        xx = comOdb.ExecuteReader
07. 
08.        With Conn
09.            If .State = ConnectionState.Open Then .Close()
10.            .ConnectionString = strConn
11.            .Open()
12.        End With
13. 
14.        Dim dgNum As Integer = DataGridView1.RowCount
15. 
16.        Dim comAdd As New SqlCommand
17.        Dim ss As String = ""
18. 
19.        If xx.Read Then
20.' 3 , 4 , 28 , 30 เป็นตัวเลขครับผม
21.            For i = 1 To dgNum
22.                sqlAdd = "INSERT INTO Graduate (GdtID,EdtID,GdtRank,GdtTitle,GdtFname,"
23.                sqlAdd &= " GdtLname,GdtAdd,GdtTumbol,GdtAumphur,GdtProName,GdtProID,GdtHonor)"
24.                sqlAdd &= " VALUES(" & xx(3).ToString & ","
25.                sqlAdd &= "" & xx(14).ToString & ","
26.                sqlAdd &= "'" & xx(4).ToString & "',"
27.                sqlAdd &= "'" & xx(5).ToString & "',"
28.                sqlAdd &= "'" & xx(6).ToString & "',"
29.                sqlAdd &= "'" & xx(7).ToString & "',"
30.                sqlAdd &= "'" & xx(25).ToString & "',"
31.                sqlAdd &= "'" & xx(26).ToString & "',"
32.                sqlAdd &= "'" & xx(27).ToString & "',"
33.                sqlAdd &= "'" & xx(11).ToString & "',"
34.                sqlAdd &= "" & xx(28).ToString & ","
35.                If xx(30).ToString = "0" Then
36.                    ss = "3"
37.                Else
38.                    ss = xx(30)
39.                End If
40.                sqlAdd &= "" & ss & ")"
41.                With comAdd
42.                    .CommandType = CommandType.Text
43.                    .CommandText = sqlAdd
44.                    .Connection = Conn
45.                    .ExecuteNonQuery()
46.                End With
47. 
48.                If i = dgNum Then
49.                    MessageBox.Show("บันทึกลงฐานข้อมูล เรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
50.                    Me.Hide()
51.                End If
52.            Next i
53.            Exit Sub
54.        Else
55.            MessageBox.Show("เกิดข้อผิดพลาด !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Error)
56.            Exit Sub
57.        End If
58.        Conn1.Close()
59.        DtApt = Nothing
60.        Conn1 = Nothing
61.    End Sub




Tag : .NET, MySQL, Excel (Excel.Application), VB.NET, VS 2005 (.NET 2.x)

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-03 19:12:40 By : AoFzaIT View : 1507 Reply : 12
 

 

No. 1



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

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

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


Code (VB.NET)
01.Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
02.    ' Import Excel Data To DataTable
03.    Dim sqlQuery As String = "SELECT * FROM [ต้นฉบับ$]"
04.    Dim objCommQuery As New OleDbCommand(sqlQuery, Conn1)
05.    Dim Dt As DataTable
06.    Dim objDataAdapter1 As New OleDbDataAdapter(objCommQuery)
07.    objDataAdapter1.Fill(Dt)
08. 
09.    ' Import DataTable To Sql Server Database
10.    Dim sqlInsert As String = "INSERT INTO [Graduate] ([GdtID], [EdtID], [GdtRank], [GdtTitle], [GdtFname], [GdtLname], [GdtAdd], [GdtTumbol], [GdtAumphur], [GdtProName], [GdtProID], [GdtHonor]) VALUES (@GdtID, @EdtID, @GdtRank, @GdtTitle, @GdtFname, @GdtLname, @GdtAdd, @GdtTumbol, @GdtAumphur, @GdtProName, @GdtProID, @GdtHonor)"
11.    Dim objCommInsert As New OleDbCommand(sqlInsert, Conn)
12.    objCommInsert.Parameters.Add("@GdtID", SqlDbType.NVarChar, 50, "Field1") ' Field ของ excel กำหนดเอาเอง
13.    objCommInsert.Parameters.Add("@EdtID", SqlDbType.NVarChar, 50, "Field2") ' Field ของ excel กำหนดเอาเอง
14.    objCommInsert.Parameters.Add("@GdtRank", SqlDbType.NVarChar, 50, "Field3") ' Field ของ excel กำหนดเอาเอง
15.    objCommInsert.Parameters.Add("@GdtTitle", SqlDbType.NVarChar, 50, "Field4") ' Field ของ excel กำหนดเอาเอง
16.    objCommInsert.Parameters.Add("@GdtFname", SqlDbType.NVarChar, 50, "Field5") ' Field ของ excel กำหนดเอาเอง
17.    objCommInsert.Parameters.Add("@GdtLname", SqlDbType.NVarChar, 50, "Field6") ' Field ของ excel กำหนดเอาเอง
18.    objCommInsert.Parameters.Add("@GdtAdd", SqlDbType.NVarChar, 50, "Field7") ' Field ของ excel กำหนดเอาเอง
19.    objCommInsert.Parameters.Add("@GdtTumbol", SqlDbType.NVarChar, 50, "Field8") ' Field ของ excel กำหนดเอาเอง
20.    objCommInsert.Parameters.Add("@GdtAumphur", SqlDbType.NVarChar, 50, "Field9") ' Field ของ excel กำหนดเอาเอง
21.    objCommInsert.Parameters.Add("@GdtProName", SqlDbType.NVarChar, 50, "Field10") ' Field ของ excel กำหนดเอาเอง
22.    objCommInsert.Parameters.Add("@GdtProID", SqlDbType.NVarChar, 50, "Field11") ' Field ของ excel กำหนดเอาเอง
23.    objCommInsert.Parameters.Add("@GdtHonor",SqlDbType.NVarChar, 50, "Field12") ' Field ของ excel กำหนดเอาเอง
24.    Dim objDataAdapter2 As New OleDbDataAdapter()
25.    objDataAdapter2.InsertCommand = objCommInsert
26.    objDataAdapter2.Update(Dt)
27. 
28.    Conn1.Close()
29.    Conn1 = Nothing
30.End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-03 22:17:41 By : tungman
 

 

No. 2



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



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


ขอบคุณครับ ถ้าสงสัยยังไงรบกวนอีกทันะครับ

แหะๆ (ผมใช้ sql2000 ไมุ่รู้เหมือนกันรึเปล่า - -a)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-04 14:12:17 By : AoFzaIT
 

 

No. 3



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



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


มันไม่สามารถใส่ข้อมูลใน DataTable ได้อ่ะครับ

งง ลองใส่ Ds ดูมันก็เอาข้อมูลเข้า Dt ไม่ได้อยู่ดี ช่วยดูให้หน่อยครับ

ขอบคุณอีกครังครับผม

ErrorfrmAddDB
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 11:25:33 By : AoFzaIT
 

 

No. 4



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

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

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


Code (VB.NET)
1.Dim Dt As New DataTable()

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 12:07:11 By : tungman
 

 

No. 5



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



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


มันก็ไม่ได้อยู่ดีครับ

กดปุ่ม ครั้งที่ 1 ไม่ทำงาน

ครั้งที่สอง ขึ้น

ผมก็ งง อยู่ดี มันไม่ต้องใช้ลูบในการ insert หรอครับมันมีข้อมูล 2000 กว่า อ่ะครับ

ผมลองเอา for next ไปใส่มันก็ไม่ได้ เหอๆๆ

ErrorfrmAddDB2


ประวัติการแก้ไข
2010-09-05 13:45:19
2010-09-05 15:51:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 13:43:17 By : AoFzaIT
 

 

No. 6



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

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

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


ไม่ต้องวนลูปหรอก insert แบบทั้งตารางอย่างนี้ใครใช้วนลูปถือว่าโครตเชย

เขาเอา table ดัมพ์ลง database เลย แตกำหนด field ให้ถูกๆ แล้วกัน

แต่เอา conn1 มาดูดิ๊ ว่าติดต่อ excel ยังไง ???
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 20:52:21 By : tungman
 

 

No. 7



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



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


Code (VB.NET)
01.Imports System.Data
02.Imports System.Data.SqlClient
03.Imports System.Data.OleDb
04.Public Class frmAddDatabase
05.    Dim Conn1 As New OleDb.OleDbConnection
06.    Dim DtApt As New OleDbDataAdapter
07.    Dim comOdb As OleDbCommand
08.    Dim strConn2 As String
09.    Dim ToClose As Boolean = False



เนี่ยครับ sql ใช้ Module
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 20:59:19 By : AoFzaIT
 

 

No. 8



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

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

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


ไหนอ่ะ connection string ที่ใช้ติดต่อ excel ?????
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 21:06:31 By : tungman
 

 

No. 9



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



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


อ่อ โทษทีครับ

Code (VB.NET)
01.Private Sub btnBorwse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBorwse.Click
02.      Dim strFileName As String
03.      With ofDlg
04.          .Title = "กรุณาเลือกไฟล์ฐานข้อมูล Excel"
05.          .Filter = "ไฟล์ฐานข้อมูล Excel (*.mdb)|*.xls"
06.          .FileName = ""
07.          .Multiselect = False
08.          .FilterIndex = 0
09.          If .ShowDialog() = Windows.Forms.DialogResult.OK Then
10.              strFileName = .FileName
11.              txtSql.Text = strFileName
12.              Dim objConn As New OleDbConnection
13.              strConn2 = "Provider=Microsoft.JET.OLEDB.4.0;" & "Data source=" & strFileName & ";Extended Properties=Excel 8.0;"
14.              objConn = New OleDbConnection(strConn2)
15.              objConn.Open()
16.              With Conn1
17.                  If .State = ConnectionState.Open Then .Close()
18.                  .ConnectionString = strConn2
19.                  .Open()
20.              End With
21.          Else
22.              strFileName = ""
23.              txtSql.Text = ""
24.          End If
25.      End With
26.      DataGridView1.DataSource = Nothing
27.      grbSearch.Enabled = False
28.      grbManage.Enabled = True
29.      btnSave.Enabled = False
30.      btnShow.Enabled = True
31.  End Sub
32. 
33.  Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click
34.      Dim sqlShow As String
35.      Dim ds As New DataSet
36. 
37.      Dim sqlCountGdt As String = ""
38.      sqlShow = "select * from [ต้นฉบับ$]"
39.      DtApt = New OleDbDataAdapter(sqlShow, Conn1)
40.      DtApt.Fill(ds, "[ต้นฉบับ$]")
41. 
42.      DataGridView1.DataSource = ds.Tables("[ต้นฉบับ$]")
43.      DataGridView1.Refresh()
44. 
45.      grbSearch.Enabled = False
46.      grbManage.Enabled = True
47.      btnSave.Enabled = True
48.      btnShow.Enabled = False
49.  End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 21:17:36 By : AoFzaIT
 

 

No. 10



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

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

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


event ล่ะมั้ง

ต้องเรียก opendialog ก่อนมันถึงจะสร้าง object conn1

คงไปเรียกมันก่อนจะสร้างล่ะสิ


ประวัติการแก้ไข
2010-09-05 21:53:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 21:49:27 By : tungman
 

 

No. 11



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

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

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


ขี้เกียจตอบแระ ไปไล่ debug เอาเองแล้วกัน

พวก non sense error เนี่ย แก้เอาเองตามที่มันฟ้องแล้วกันนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 21:56:41 By : tungman
 

 

No. 12



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



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


ขอบคุณครับที่แนะนำ

สู้ๆ สู้ตาย!!


ประวัติการแก้ไข
2010-09-12 20:34:56
2010-09-12 20:37:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-05 22:11:55 By : AoFzaIT
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาการ insert sql2000 โดยใช้ loop for แต่มันลงฐานข้อมูลแค่คนเดียวครับ(ดึงข้อมูลมาจาก Excel) .net 2005 ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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