Register Register Member Login Member Login Member Login Forgot Password ??
PHP (Hypertext Preprocessor), ASP (Active Server Pages), ASP.NET, VB.NET, C# (.Net 1.1, 2.0, 3.5, 4.0)
   
   
  Registered : 74,379
   
 
HOME > ASP.NET > ASP.NET MySQL (MySql.Data.MySqlClient) > ASP.NET MySQL Database Class

ASP.NET MySQL Database Class

 
 
Send To Friend.Bookmark.
ASP.NET MySQL Database Class ตัวอย่างนี้ผมได้ออกแบบ Database Class ไว้สำหรับการจัดการกับฐานข้อมูล ASP กับ MySQL โดยใช้ NameSpace ของ MySql.Data.MySqlClient ซึ่งมีฟังก์ชั่นครบในการใช้งานครับ ไม่ว่าจะเป็นการ เพิ่ม/ลบ/แก้ไข/อ่าน สำหรับตัวอย่างนี้ผมเขียนบน Framework 2.0,3.5 ครับ

Instance NameSpace

VB.NET
Imports System.Data 
Imports MySql.Data.MySqlClient 


ASP.NET & MySql.Data.MySqlClient

Language Code : VB.NET || C#

Web.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="Server=localhost;User Id=root; Password=root; Database=mydatabase; Pooling=false"/>
</appSettings>
</configuration>



App_Code/clsDatabase.vb

Imports System.Data
Imports MySql.Data.MySqlClient
Imports System.Configuration
Public Class clsDatabase
    Private objConn As MySqlConnection
    Private objCmd As MySqlCommand
    Private Trans As MySqlTransaction
    Private strConnString As String

    Public Sub New()
        strConnString = System.Configuration.ConfigurationSettings.AppSettings("ConnectionString")
    End Sub

    Public Function QueryDataReader(ByVal strSQL As String) As MySqlDataReader
        Dim dtReader As MySqlDataReader
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        objCmd = New MySqlCommand(strSQL, objConn)
        dtReader = objCmd.ExecuteReader()
        Return dtReader '*** Return DataReader ***'
    End Function

    Public Function QueryDataSet(ByVal strSQL As String) As DataSet
        Dim ds As New DataSet
        Dim dtAdapter As New MySqlDataAdapter
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        objCmd = New MySqlCommand
        With objCmd
            .Connection = objConn
            .CommandText = strSQL
            .CommandType = CommandType.Text
        End With
        dtAdapter.SelectCommand = objCmd
        dtAdapter.Fill(ds)
        Return ds   '*** Return DataSet ***'
    End Function

    Public Function QueryDataTable(ByVal strSQL As String) As DataTable
        Dim dtAdapter As MySqlDataAdapter
        Dim dt As New DataTable
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        dtAdapter = New MySqlDataAdapter(strSQL, objConn)
        dtAdapter.Fill(dt)
        Return dt '*** Return DataTable ***'
    End Function

    Public Function QueryExecuteNonQuery(ByVal strSQL As String) As Boolean
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        Try
            objCmd = New MySqlCommand
            With objCmd
                .Connection = objConn
                .CommandType = CommandType.Text
                .CommandText = strSQL
            End With
            objCmd.ExecuteNonQuery()
            Return True '*** Return True ***'
        Catch ex As Exception
            Return False '*** Return False ***'
        End Try
    End Function

    Public Function QueryExecuteScalar(ByVal strSQL As String) As Object
        Dim obj As Object
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        Try
            objCmd = New MySqlCommand
            With objCmd
                .Connection = objConn
                .CommandType = CommandType.Text
                .CommandText = strSQL
            End With
            obj = objCmd.ExecuteScalar()  '*** Return Scalar ***'
            Return obj
        Catch ex As Exception
            Return Nothing '*** Return Nothing ***'
        End Try
    End Function

    Public Function TransStart()
        objConn = New MySqlConnection
        With objConn
            .ConnectionString = strConnString
            .Open()
        End With
        Trans = objConn.BeginTransaction(IsolationLevel.ReadCommitted)
    End Function

    Public Function TransExecute(ByVal strSQL As String) As Boolean
        objCmd = New MySqlCommand
        With objCmd
            .Connection = objConn
            .Transaction = Trans
            .CommandType = CommandType.Text
            .CommandText = strSQL
        End With
        objCmd.ExecuteNonQuery()
    End Function

    Public Function TransRollBack()
        Trans.Rollback()
    End Function

    Public Function TransCommit()
        Trans.Commit()
    End Function

    Public Sub Close()
        objConn.Close()
        objConn = Nothing
    End Sub

End Class



AspNetDatabase.aspx

<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="MySql.Data.MySqlClient"%>
<%@ Page Language="VB" %>

<script runat="server">
	
	Dim clsDB As New clsDatabase
    Sub Page_Load(sender As Object, e As EventArgs)	
        Call myDataReader()
        Call myDataSet()
        Call myDataTable()
        Call myQueryExecuteScalar()
        Call myExecuteNonQuery()
        Call myExecuteTransaction()	
	End Sub


    '*** DataReader ***'
    Sub myDataReader()
        Dim strSQL As String
        Dim dtReader As MySqlDataReader
        strSQL = "SELECT * FROM customer "
        dtReader = clsDB.QueryDataReader(strSQL)
        Me.myDataGrid1.DataSource = dtReader
        Me.myDataGrid1.DataBind()

        '*** Bind Rows ***'
        'If dtReader.HasRows = True Then
        '    Me.lblCustomerID.Text = dtReader.Item("CustomerID")
        '    Me.lblName.Text = dtReader.Item("Name")
        '    Me.lblEmail.Text = dtReader.Item("Email")
        '    Me.lblCountryCode.Text = dtReader.Item("CountryCode")
        '    Me.lblBudget.Text = dtReader.Item("Budget")
        '    Me.lblUsed.Text = dtReader.Item("Used")
        'End If
        clsDB.Close()
    End Sub

    '*** DataSet ***'
    Sub myDataSet()
        Dim strSQL As String
        Dim ds As DataSet
        strSQL = "SELECT * FROM customer "
        ds = clsDB.QueryDataSet(strSQL)
        Me.myDataGrid2.DataSource = ds.Tables(0).DefaultView
        Me.myDataGrid2.DataBind()

        '*** Bind Rows ***'
        'If ds.Tables(0).Rows.Count > 0 Then
        '    Me.lblCustomerID.Text = ds.Tables(0).Rows(0)("CustomerID")
        '    Me.lblName.Text = ds.Tables(0).Rows(0)("Name")
        '    Me.lblEmail.Text = ds.Tables(0).Rows(0)("Email")
        '    Me.lblCountryCode.Text = ds.Tables(0).Rows(0)("CountryCode")
        '    Me.lblBudget.Text = ds.Tables(0).Rows(0)("Budget")
        '    Me.lblUsed.Text = ds.Tables(0).Rows(0)("Used")
        'End If
        clsDB.Close()
    End Sub

    '*** DataTable ***'
    Sub myDataTable()
        Dim strSQL As String
        Dim dt As DataTable
        strSQL = "SELECT * FROM customer "
        dt = clsDB.QueryDataTable(strSQL)
        Me.myDataGrid3.DataSource = dt
        Me.myDataGrid3.DataBind()

        '*** Bind Rows ***'
        If dt.Rows.Count > 0 Then
            Me.lblCustomerID.Text = dt.Rows(0)("CustomerID")
            Me.lblName.Text = dt.Rows(0)("Name")
            Me.lblEmail.Text = dt.Rows(0)("Email")
            Me.lblCountryCode.Text = dt.Rows(0)("CountryCode")
            Me.lblBudget.Text = dt.Rows(0)("Budget")
            Me.lblUsed.Text = dt.Rows(0)("Used")
        End If
        clsDB.Close()
    End Sub

    '*** Execute Scalar ***'
    Sub myQueryExecuteScalar()
        Dim strSQL As String
        strSQL = "SELECT MAX(Budget) FROM customer "
        Me.lblText.Text = clsDB.QueryExecuteScalar(strSQL)
        clsDB.Close()
    End Sub

    '*** ExecuteNonQuery ***'
    Sub myExecuteNonQuery()
        Dim strSQL1, strSQL2, strSQL3 As String

        '*** Insert ***'
        strSQL1 = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " & _
        " VALUES('C005','Weerachai Nukitram','webmaster@thaicreate.com','TH','200000','100000')"
        If clsDB.QueryExecuteNonQuery(strSQL1) = True Then
            '*** Condition Success ***'
        Else
            '*** Condition Error ***'
        End If
        clsDB.Close()

        '*** Update ***'
        strSQL2 = "UPDATE customer SET Budget = '3000000' WHERE CustomerID = 'C005' "
        If clsDB.QueryExecuteNonQuery(strSQL2) = True Then
            '*** Condition Success ***'
        Else
            '*** Condition Error ***'
        End If
        clsDB.Close()

        '*** Delete ***'
        strSQL3 = "DELETE FROM customer WHERE CustomerID = 'C005' "
        If clsDB.QueryExecuteNonQuery(strSQL3) = True Then
            '*** Condition Success ***'
        Else
            '*** Condition Error ***'
        End If
        clsDB.Close()
    End Sub

    '*** Execute Transaction ***'
    Sub myExecuteTransaction()
        Dim strSQL1, strSQL2, strSQL3 As String

        '*** Start Transaction ***'
        clsDB.TransStart()

        Try
            '*** Insert ***'
            strSQL1 = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " & _
            " VALUES('C005','Weerachai Nukitram','webmaster@thaicreate.com','TH','200000','100000')"
            clsDB.TransExecute(strSQL1) '*** Execute Query 1 ***'

            '*** Update ***'
            strSQL2 = "UPDATE customer SET Budget = '3000000' WHERE CustomerID = 'C005' "
            clsDB.TransExecute(strSQL2) '*** Execute Query 2 ***

            '*** Delete ***'
            strSQL3 = "DELETE FROM customer WHERE CustomerID = 'C005' "
            clsDB.TransExecute(strSQL3) '*** Execute Query 3 ***

            '*** Commit Transaction ***'
            clsDB.TransCommit()

        Catch ex As Exception
            '*** RollBack Transaction ***'
            clsDB.TransRollBack()
        End Try
        clsDB.Close()
    End Sub

</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - Database Class</title>
</head>
<body>
	<form id="form1" runat="server">
			<asp:DataGrid id="myDataGrid1" runat="server"></asp:DataGrid>
			<br>
			<br>
			<asp:DataGrid id="myDataGrid2" runat="server"></asp:DataGrid><br>
			<br>
			<asp:DataGrid id="myDataGrid3" runat="server"></asp:DataGrid><br>
			<table style="WIDTH: 300px" border="1">
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderCustomerID" runat="server" Text="CustomerID"></asp:Label></td>
					<td style="WIDTH: 213px">
						<asp:Label id="lblCustomerID" runat="server"></asp:Label></td>
				</tr>
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderName" runat="server" Text="Name"></asp:Label></td>
					<td style="WIDTH: 213px">
						<asp:Label id="lblName" runat="server"></asp:Label></td>
				</tr>
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderEmail" runat="server" Text="Email"></asp:Label></td>
					<td style="WIDTH: 213px; HEIGHT: 23px">
						<asp:Label id="lblEmail" runat="server"></asp:Label></td>
				</tr>
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderCountryCode" runat="server" Text="CountryCode"></asp:Label></td>
					<td style="WIDTH: 213px; HEIGHT: 23px">
						<asp:Label id="lblCountryCode" runat="server"></asp:Label></td>
				</tr>
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderBudget" runat="server" Text="Budget"></asp:Label></td>
					<td style="WIDTH: 213px; HEIGHT: 21px">
						<asp:Label id="lblBudget" runat="server"></asp:Label></td>
				</tr>
				<tr>
					<td style="WIDTH: 93px">
						<asp:Label id="lblHeaderUsed" runat="server" Text="Used"></asp:Label></td>
					<td style="WIDTH: 213px; HEIGHT: 21px">
						<asp:Label id="lblUsed" runat="server"></asp:Label></td>
				</tr>
			</table>
			<br>
			<asp:Label id="lblText" runat="server"></asp:Label>
	</form>
</body>
</html>





ASP.NET MySql.Data.MySqlClient - Parameter Query





 

ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท

 
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rate :  
  Create/Update Date : 2008-12-05 17:39:50 / 2009-07-08 18:42:22
  View : 1,536
  Download : Download  ASP.NET MySQL Database Class
   
 
Sponsored Links
  Download Safari
 
Ads Contact : 08-1987-6107
Download Mozilla Firefox
 
Ads Contact : 08-1987-6107
 Sponsored Links
ASP.NET MySQL Connect to Database
Rate : View : 5,730
ASP.NET MySQL List Table Properties
Rate : View : 1,516
ASP.NET MySQL List Record
Rate : View : 1,419
ASP.NET MySQL & Odbc (System.Data.Odbc)
Rate : View : 1,602
ASP.NET MySQL Random Record
Rate : View : 1,259
ASP.NET MySQL List Record Paging/Pagination
Rate : View : 1,402
ASP.NET MySQL Search Record
Rate : View : 1,478
ASP.NET MySQL Search Record Paging/Pagination
Rate : View : 1,267
ASP.NET MySQL Add/Insert Record
Rate : View : 1,830
ASP.NET MySQL Add-Insert Multiple Record
Rate : View : 72
ASP.NET MySQL Check Already Exists Add/Insert Record
Rate : View : 1,427
ASP.NET MySQL Transaction (BeginTransaction,Commit,Rollback)
Rate : View : 2,045
ASP.NET MySQL Edit/Update Record
Rate : View : 1,657
ASP.NET MySQL Delete Record
Rate : View : 1,344
ASP.NET MySQL Multiple Checkbox Delete Record
Rate : View : 370
ASP.NET MySQL and GridView, DataSource
Rate : View : 86
ASP.NET MySQL Database Class (Visual Studio .Net 2003 - .NET 1.1)
Rate : View : 1,253
ASP.NET MySQL Database Class (Visual Studio 2005,2008,2010 - .NET 2.0,3.5,4.0)
Rate : View : 2,450
ThaiCreate.Com Forum
PHP Forum ASP Forum
.NET Forum Graphic Forum
Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools



 

© www.ThaiCreate.Com. 2003-2009 All Rights Reserved. Link : ไทยกู๊ดเว็บ , ติดแก๊ส , Hosting
Comments & Suggestions Please Contact Us : thaicreate at hotmail dot com [Conditions Privacy Statement] ติดต่อโฆษณา 01-987-6107 อัตราราคา คลิกที่นี่