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 > สอบถามเกี่ยวกับ class connectDB เวลา Connect ตอนดึงข้อมูลเสร็จตรง Function จะปิดการ connect ให้เลยไหม



 

สอบถามเกี่ยวกับ class connectDB เวลา Connect ตอนดึงข้อมูลเสร็จตรง Function จะปิดการ connect ให้เลยไหม

 



Topic : 124061



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



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




สงสัยมากๆ เกี่ยวกับ class connectDB เวลา Connect ตอนดึงข้อมูลเสร็จตรง Function จะปิดการ connect ให้เลยไหม

Code (VB.NET)
Public Class CConnect
    Public Function SqlStrCon() As SqlConnection
        Return New SqlConnection(Module1.strconn)
    End Function
End Class

Public Class SqlGet
 Public Function SqlGet(ByVal sql As String, ByVal MyData As String) As DataSet
        Dim conn As SqlConnection = New CConnect().SqlStrCon()
        Dim da As New SqlDataAdapter(sql, conn)
        Dim ds As New DataSet()
        da.Fill(ds, MyData)
        Return ds
    End Function
End Class


ตอน Return dataset เสร็จ Function จะปิด Connect ให้เลยไหมครับ หรือว่าต้องปิดเอง



Tag : .NET, Ms SQL Server 2005, VB.NET









ประวัติการแก้ไข
2016-07-28 14:13:14
2016-07-28 14:15:07
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-07-28 14:12:08 By : TheCom View : 1799 Reply : 12
 

 

No. 1



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



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

ไม่ปิดครับ
ลองแบบนี้ดู

Code (VB.NET)
Public Class SqlGet
 Public Function SqlGet(ByVal sql As String, ByVal MyData As String) As DataSet
        Dim conn As SqlConnection = New SqlConnection(Module1.strconn)
        Dim da As New SqlDataAdapter(sql, conn)
        Dim ds As New DataSet()
        da.Fill(ds, MyData)
        conn.Close
        Return ds
    End Function
End Class


As DataSet สามารถออกเป็น As Datatable เพื่อความหลากหลายในการใช้งานครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-07-28 14:35:34 By : lamaka.tor
 


 

No. 2



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



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

Code (VB.NET)
 Public Function SqlGet(ByVal sql As String, ByVal MyData As String) As DataSet
       Dim ds As New DataSet()
    Using conn As  New SqlConnection(Module1.strconn)
        da.Fill(ds, New SqlDataAdapter(sql, conn))
     End Using
        Return ds
    End Function


สั้นลงไปได้อีก 5555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-07-28 14:42:14 By : lamaka.tor
 

 

No. 3



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



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


เมื่อกี่ผมลอง Test ดู ใส่ conn.close กับไม่ใส่ ผลมันออกมาเหมือนกันเลย ปิดทั้งคู่ หรือผมเช็ค status ผิด

Code (VB.NET)
 If conn.State = ConnectionState.Open Then
            MsgBox("1")
        Else
            MsgBox("0")
        End If

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-07-28 14:45:02 By : TheCom
 


 

No. 4



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

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

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

ลองใช้พวก Using ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-07-28 15:17:48 By : mr.win
 


 

No. 5



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



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


ขอบคุณครับ

สอบถามอีกนิดคับ ถ้าผมเอา Code ชุดบน ไปส่งระหว่าง Class กับ Module ข้อแตกต่างมันคืออะไรเหรอครับ


ประวัติการแก้ไข
2016-07-28 15:31:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-07-28 15:31:43 By : TheCom
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : TheCom เมื่อวันที่ 2016-07-28 15:31:43
รายละเอียดของการตอบ ::
ก็จะได้ไม่ต้องเขียนส่วนของ connection ใหม่ไงครับ ส่ง sql command เข้ามาแล้วรับ object กลับเลย
ทางด้าน class หรือ module ก็ประกาศแล้วเรียกใช้งาน method ได้เลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-01 22:25:42 By : deksoke
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : deksoke เมื่อวันที่ 2016-08-01 22:25:42
รายละเอียดของการตอบ ::
อึม!! ข้อแตกต่างที่ผมหมายถึงคือระหว่าง Class กับ module มันต่างกันยังไงบ้างเช่น module ไม่ต้อง New เรียกได้เลย
module จองพื้นที่ Class ไม่จองพื้นที่ไรประมาณนี้ครับ



ประวัติการแก้ไข
2016-08-02 08:41:07
2016-08-02 09:03:34
2016-08-02 09:03:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 08:40:15 By : TheCom
 


 

No. 8



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



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

ตอบความคิดเห็นที่ : 7 เขียนโดย : TheCom เมื่อวันที่ 2016-08-02 08:40:15
รายละเอียดของการตอบ ::
Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Data
Friend NotInheritable Class clsDatabase
    Public Shared Function SqlGet(ByVal sql As String, ByVal strconn As String) As DataSet
        'อะไรก็ว่าไป
    End Function
End Class



Code (VB.NET)
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DataSet ds = clsDatabase.SqlGet("Select tuna 555", "Connstring")
    End Sub
End Class






ย้อนกลับมาก่อนๆๆ
ลองจับประเด็นดูว่า ต้องการอะไร แล้วลองศึกษาใหม่ดูครับ
ไม่งั้นประเด็นเราก็ออกอ่าวไปเรื่อยๆ

ความจริง VB.NETไม่เหมือน C# ไว้ใน module ก็ได้ครับไม่จำเป็นต้องใส่ใน class หร่อก


ปล. method มันอยู่ใน class นะท่าน ถ้าเราไม่เรียกใช้ class ก่อน จะเรียกใช้ method ใน class ได้ยังไงรึ
ขนาดผมประกาศแบบ Friend NotInheritable Class และ ใช้ Public Shared Function เป็น method
เวลาใช้ยังต้องเรียกแบบ

clsDatabase.SqlGet เรียก Class มาก่อน

ดังนั้น ลองไม่มอง เรื่อง module Class method ดู แต่ให้มองว่าทั้งหมดนี้จะทำยังไงให้งานเราออกมาสวย
และเป็นความคิดที่ดีนะครับที่อยากจะทำให้ connect ใช้งานง่ายขึ้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 09:10:34 By : lamaka.tor
 


 

No. 9



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



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

http://www.dotnetperls.com/class-vbnet
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 09:18:02 By : lamaka.tor
 


 

No. 10



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



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

ว่าแล้วก็ลองออกทะเลดู
ขอนำเสนอ Extension method

Code (VB.NET)
Imports System.Data.SqlClient

Module Module1
    <System.Runtime.CompilerServices.Extension()> _
    Public Function SqlGet(ByVal sql As String, ByVal strconn As String) As DataTable
        Dim dt As New DataTable
        Using cnn As New SqlConnection(strconn)
            cnn.Open()
            Using dad As New SqlDataAdapter(sql, cnn)
                dad.Fill(dt)
            End Using
            cnn.Close()
        End Using
        Return dt
    End Function
End Module



Code (VB.NET)
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim dt As DataTable = "Select Tuna 555".SqlGet("ConnString")
    End Sub
End Class



แค่นำเสนอนะครับ เพราะดูเหมือนว่า Extension method ท่าทางจะจัดโค้ดยาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 09:45:58 By : lamaka.tor
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-08-02 09:10:34
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 11:22:59 By : TheCom
 


 

No. 12



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



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


ผมก็มีตัว connect db เล็ก ๆ เหมือนกันครับ
แต่ผมทำเป็น class ไม่ได้ไว้ใน module

ถ้าเป็น vb สามารถเอาไปไว้ใน module ก็ได้น่ะครับ
เวลาใช้ก็เรียกใช้ได้เลย

แต่ถ้าเป็น class ต้องประกาศตัวแปรมารับ
ซึ่งเป็นสิ่งที่ผมว่ามันเป็นเรื่องดี
เนื่องจากในบางครั้งโปรแกรมต้องมีการต่อ database มากกว่า 1 ตัว

เราก็สามารถใช้ตัวแปรแทน database นั้น ๆ ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 15:49:27 By : fonfire
 

   

ค้นหาข้อมูล


   
 

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