หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  จ้า...
2020-10-18 16:53:21
  พอดีผมเหลื่อแค่ตัดสต๊อก...
2020-05-31 21:49:43
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
 Webboard

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

กระทู้ #2870 [Vb] (จาก IP: 113.53.81.4)

โค้ดเชื่อมต่อฐานข้อมูล

รบกวนขอโค้ดเชื่อมต่อฐานข้อมูล Accass ด้วยคะ เพราะจะทำงานส่งอ. คะ และก็ตัวอย่างปุ่มค้นหาด้วยนะคะ

ขอบคุณคะ
จากคุณ : อรสา / orasa_982@hotmail.com [2010-04-30 16:26:32]  

112.142.186.62 ความคิดเห็น #27872 (จาก IP: 112.142.186.62)
1. ติดต่อฐานข้อมูล เอาเป็น ADO ก็แล้วกัน
2. ทำการ Execute คำสั่ง SQL Syntax หรือก็คือจัดการฐานข้อมูล
Select , Update , Insert , Delete หรือจะมีมากกว่านี้ก็ได้ เช่นคำสั่งหมวด
DDL จำพวก CREATE , ALTER ก็ได้ครับ
แต่ตัวอย่างนี้เอาแค่ Select , Update , Insert , Delete ก็พอ
3 . ยกเลิกการติดต่อฐานข้อมูล


มี Member (ตัวแปร) ดังนี้
1. ตัวแปรของ object ADODB 3 ตัวคือ Connection , Command , Recordset
2. ตัวแปรเก็บคำสั่ง Syntax SQL
3. ตัวแปรเก็บ ConnectionString
4. ตัวแปรเก็บที่อยู่ของไฟล์ฐานข้อมูล

มี Constructor , Deconstructor (มีหรือไม่มีก็ได้ครับ) ดังนี้
1. Constructor กำหนดค่าเริ่มต้นให้ตัวแปรที่จำเป็น
2. Deconstructor รีเซ็ทค่าตัวแปร และคืนหน่วยความจำให้ระบบ


วิธีการคือเข้าไป Add ClassModule แล้วตั้งชื่อเป็น ControlDB.cls
(อย่าลืมทำการ add library ของ ADO ด้วยครับ)
โค้ดตัวอย่างนี้ผมใช้ฐานข้อมูล NWIND.mdb ที่แถมมากับ MSAccess ครับ


จากคุณสมบัติที่เราคิดไว้แล้ว นำมาเขียนเป็นโค้ดได้ดังนี้ครับ




Code


' ########### ส่วนที่เก็บไว้ที่ Form

Option Explicit

Private ControlDB As New ControlDB ' เรียกใช้งาน Class

Private Sub cmdDelete_Click()
Dim Sql As String, Str As String
Str = InputBox("ลบ EmployeeID ที่ ?")
Sql = "DELETE FROM Employees WHERE EmployeeID = " & CInt(Str)
ControlDB.ExecuteDB (Sql)
Call RefreshDataGrid ' โชว์ค่าที่โดน Delete แล้ว
End Sub

Private Sub cmdDisconnectDB_Click()
ControlDB.DisconnectDB
End Sub

Private Sub cmdInsert_Click()

Dim Sql As String, Str1 As String, Str2 As String
Str1 = InputBox("เพิ่ม FirstName = ?")
Str2 = InputBox("เพิ่ม LastName = ?")

Sql = "INSERT INTO Employees(FirstName,LastName) VALUES('" & Str1 & "','" & Str2 & "')"

ControlDB.ExecuteDB (Sql)
Call RefreshDataGrid ' โชว์ค่า Insert แล้ว

End Sub

Private Sub cmdSelectDB_Click()

Dim Constr As String, Sql As String

With Me.CommonDialog1
.ShowOpen

If .FileName <> "" Then

Constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & .FileName & ";Persist Security Info=False"

With ControlDB

.ConnectDB (Constr) ' ติดต่อฐานข้อมูลจาก DataBase MSAccess ที่เลือก

' แสดงข้อมูลลง Datagrid เลยโดยเอาผล Rs ที่ return กลับมาใส่ให้กับ DataSource ของ datagrid
Sql = "SELECT * FROM Employees ORDER BY EmployeeID"
Set Me.DataGrid1.DataSource = .SelectDB(Sql)

' เปิดปุ่มการทำงานกับฐานข้อมูล
cmdUpdate.Enabled = True
cmdInsert.Enabled = True
cmdDelete.Enabled = True
cmdDisconnectDB.Enabled = True

End With

End If



End With

End Sub

' Update ข้อมูล
Private Sub cmdUpdate_Click()

Dim Str1 As String, Str2 As String, Sql As String

Str1 = InputBox("Update ที่ EmployeeID ที่ ?")
Str2 = InputBox("Update FirstName เป็น ?")

Sql = "UPDATE Employees SET FirstName = '" & Str2 & "'"
Sql = Sql & " WHERE EmployeeID = " & CInt(Str1)
ControlDB.ExecuteDB (Sql) ' ส่งไปคำสั่งไปรันใน object Command
Call RefreshDataGrid ' โชว์ค่า Update แล้ว

End Sub

Public Sub RefreshDataGrid()

' แสดงข้อมูลที่ Update แล้วให้ดู
Me.DataGrid1.Refresh
Set Me.DataGrid1.DataSource = ControlDB.SelectDB("SELECT * FROM Employees ORDER BY EmployeeID")

End Sub



' ############ ส่วนที่เก็บไว้ใน Class


' -- Member หรือก็คือตัวแปรนั่นเอง
Private ConString As String
Private URLDataBase As String
Private Conn As New ADODB.Connection
Private Cmd As New ADODB.Command
Private Rs As New ADODB.Recordset

'-------- METHOD ทั้งหมดที่มีตามที่เราออกแบบไว้ ---------

' ติดต่อฐานข้อมูล
' ตั้งเป็นโปรแกรมย่อยไม่ใช้ฟังก์ชั่นเพราะไม่ต้องการค่าคืนกลับใดๆ
Public Sub ConnectDB(ConString As String)
With Conn
If .State = adStateOpen Then .Close
.ConnectionString = ConString
.ConnectionTimeout = 90
.Open
End With
End Sub

' กระบวนการที่ไม่ทำให้ฐานข้อมูลเปลี่ยนไปนั่นคือ Select ฐานข้อมูล
' ใช้เป็นฟังก์ชั่นเพราะต้องการค่าคืนกลับคือ Recordset ที่เก็บข้อมูลทั้งหมดที่ Select ได้
Public Function SelectDB(Sql As String) As Object
With Rs
If .State = adStateOpen Then .Close
.ActiveConnection = Conn
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.Open Sql
Set SelectDB = Rs ' return Recordset ที่ได้กลับไปให้
End With
End Function

' กระบวนการที่ทำให้ฐานข้อมูลเปลี่ยนไป นั่นคือ Update , Insert , Delete
' ตั้งเป็นโปรแกรมย่อยไม่ใช้ฟังก์ชั่นเพราะไม่ต้องการค่าคืนกลับใดๆ
Public Sub ExecuteDB(Sql As String)
With Cmd
.ActiveConnection = Conn
.CommandType = adCmdText
.CommandText = Sql
.Execute
End With
End Sub

' ยกเลิกการติดต่อฐานข้อมูล
Public Sub DisconnectDB()
Conn.Close ' ปิด object Connection
Set Conn = Nothing ' คืนหน่วยความจำให้ระบบ
End Sub

' ยกเลิก object Recordset
Public Sub ClearRecordSet()
Rs.Close ' ปิด object Recordset
Set Rs = Nothing ' คืนหน่วยความจำให้ระบบ
End Sub
จากคุณ : pt / xxx@xxx.com [2010-05-05 01:50:27]
ตอบกระทู้
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th