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 > เกี่ยวกับการดึงข้อมูลจากคลาสคร๊าบบบ ของโปรแกรม VB.net กับ SQL Server 2014


 

[.NET] เกี่ยวกับการดึงข้อมูลจากคลาสคร๊าบบบ ของโปรแกรม VB.net กับ SQL Server 2014

 
Topic : 117373



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



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



สวัสดีครับ พอดีผมเพิ่งหัดเขียน VB
พอดีว่า ผมสร้างคลาสสำหรับเชื่อมฐานข้อมูล (ผลปรากฏว่าเชื่อมฐานข้อมูลได้ ) ไม่ติด ERROR
แต่ หลังพอผมดึงข้อมูลผ่านคลาสมายังฟอร์ม ผลปรากฏว่า มันเชื่อมไม่ได้ รบกวนผู้รู้ดูโค๊ดให้ผมหน่อยนะครับ

Code
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient

Public Class connectionDB

Private connectionSQL As MySqlConnection
Private commandSQL As MySqlCommand
Private readerSQL As MySqlDataAdapter

Public Sub connectMySQL()
Try
connectionSQL = New MySqlConnection
connectionSQL.ConnectionString = "Data Source=localhost;Initial Catalog=Inventory;User ID=sa;Password=30082531"
If connectionSQL.State = ConnectionState.Closed Then
connectionSQL.Open()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Public Sub closeSQL()
Try
connectionSQL.Close()
commandSQL.Cancel()
connectionSQL = Nothing
commandSQL = Nothing
readerSQL = Nothing
Catch ex As Exception

End Try

End Sub

End Class


ตัวแรกเป็นโค๊ดของคลาสครับ รันได้ปกติ (ลองรันจากฟอร์มก่อนเอาไปลงคลาส)

Code
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient

Public Class Form1

Public acessMySQL As New connectionDB

Private Sub frmLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
acessMySQL = New connectionDB
acessMySQL.connectMySQL()

End Sub
End Class


ตัวที่สองเป็นโค๊ดที่ดึงข้อมูลจากคลาสครับ แต่มีปัญหามันเชื่อมไม่ได้

รบกวนพี่ ๆ ช่วยดูโค๊ดให้ผมหน่อยนะครับ



Tag : .NET, Ms SQL Server 2012, VB.NET, VS 2012 (.NET 4.x), Windows

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-06-25 10:02:28 By : Bypass2CMD View : 856 Reply : 3
 

 

No. 1



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



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

Error คือ ?

แต่ที่แน่ๆ คือ Class Form1 จะไม่สามารถใช้ connectionSQL commandSQL readerSQL ผ่าน acessMySQL ได้
เพราะไม่ถูกประกาศเป็นแบบ Public

ลองแบบนี้ดูครับ
Code (VB.NET)
01.Option Explicit On
02.Option Strict On
03.Imports System.Data
04.Imports System.Data.SqlClient
05.Imports MySql.Data.MySqlClient
06. 
07.Friend Class connectionDB
08. 
09.Public  connectionSQL As MySqlConnection
10.Public commandSQL As MySqlCommand
11.Public readerSQL As MySqlDataAdapter
12. 
13.Public Sub connectMySQL()
14.Try
15.connectionSQL = New MySqlConnection
16.connectionSQL.ConnectionString = "Data Source=localhost;Initial Catalog=Inventory;User ID=sa;Password=30082531"
17.If connectionSQL.State = ConnectionState.Closed Then
18.connectionSQL.Open()
19.End If
20. 
21.Catch ex As Exception
22.MsgBox(ex.Message)
23.End Try
24.End Sub
25. 
26.Public Sub closeSQL()
27.Try
28.connectionSQL.Close()
29.commandSQL.Cancel()
30.connectionSQL = Nothing
31.commandSQL = Nothing
32.readerSQL = Nothing
33.Catch ex As Exception
34. 
35.End Try
36. 
37.End Sub
38. 
39.End Class


Code (VB.NET)
01.Option Explicit On
02.Option Strict On
03.Imports System.Data
04.Imports System.Data.SqlClient
05.Imports MySql.Data.MySqlClient
06. 
07.Public Class Form1
08. 
09. 
10. 
11.Private Sub frmLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
12.connectionDB.connectMySQL() 'ไม่จำเป็นต้องประกาศตัวแปร
13. 
14.End Sub
15.End Class


ประโยชน์คือ
ทุก class ที่เรียกใช้งาน connectionDB จะได้ใช้ properties เดียวกันต่อให้มี class เยอะแค่ไหนก็ตาม และสะดวกต่อเรียกใช้
ข้อเสียคือ
ทุก class ที่เรียกใช้งาน connectionDB จะได้ใช้ properties เดียวกันต่อให้มี class เยอะแค่ไหนก็ตาม

ลองๆเอาข้อดีข้อเสียไปใช้งานดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-25 10:27:32 By : lamaka.tor
 

 

No. 2



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



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


ขอบคุณ คุณ TOR_CHEMISTRY

คือตอนแรกที่เป็น Private เพราะผมคิดว่า ตัวแปรมันเก็บไว้ ประมวลผล ส่วนตัวที่เรียกใช้เป็น คลาส ที่ประมวลอีก (อันนี้เดามั่ว)

ส่วนที่สองนะครับ

ผมได้ลองทำตามวิธีของท่าน TOR_CHEMISTRY ได้ผลปรากฏว่า พอพิม connectionDB หลังจากนี้จะมีให้เลือกแค่ Equal กับ ReferceEqual ไม่มีให้ใส่ connectMySQL (ทำการปรับที่เหลือ เป็น Public หมดแล้ว)

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

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : Bypass2CMD เมื่อวันที่ 2015-06-25 11:34:19
รายละเอียดของการตอบ ::

แหล่มครับ
อ๊อ ต้องกำหนดเป็น
Friend Class connectionDB 'มันจะใช้ได้ใน Namespace เดียวกันครับ

พอดีเห็นว่า connectionDB มันต้องใช้บ่อยเลยไม่อยากให้ประกาศหลายรอบ (สำหรับคนขี้เกียจ เหมือนผม)


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

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เกี่ยวกับการดึงข้อมูลจากคลาสคร๊าบบบ ของโปรแกรม VB.net กับ SQL Server 2014
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





Load balance : Server 03
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 อัตราราคา คลิกที่นี่