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 สำหรับ Connect Database มาแจก ติดต่อ ACCESS,MSSQL,ORACLE



 

เอา Class สำหรับ Connect Database มาแจก ติดต่อ ACCESS,MSSQL,ORACLE

 



Topic : 055716



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



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




เป็น Class สำหรับ ติดต่อกับ Database (access,mssql,oracle) ประโยชน์คือลดเวลาในการเขียนโปรแกรม
เพราะสามารถ ทำงานกับ Database ได้ง่ายๆ ยกตัวอย่าง

ดึงข้อมูล
Code (C#)
string sql1 = "Select * from Employees";
DataSet dsEmp1 = new DBClass().SqlGet(sql1,"tblEmployee");

command insert,delete,update
string sql3 = "Insert into Employees(empId,empName) " +
                " Values(1,'pheak')";
        int i = new DBClass().SqlExecute(sql3);


สามารถใช้งาน Parameters ได้ เช่น
Code (C#)
string sql4 = "Insert into Employees(empId,empName) " +
            " Values(@empId,@empName) ";
        SqlParameterCollection param2 = new SqlCommand().Parameters;
        param2.AddWithValue("empId", SqlDbType.Int).Value = 1;
        param2.AddWithValue("empName",SqlDbType.VarChar).Value = "pheak";
        int i2 = new DBClass().SqlExecute(sql4, param2);


หวังว่าคงมีประโยชน์ครับ



DBclass.cs(C#)
using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data.OracleClient;

/// <summary>
/// Summary description for DBClass
/// Class สำหรับ connect database สามารถ ใช้งานได้กับ ACCESS,SQL Server,Oracle
/// เขียนขึ้นโดย Pheak Email [email protected]
/// มีข้อสงสัย,bug แจ้งได้ทาง Email ครับ
/// </summary>
/// 

//ประกาศ Connection ของแต่ละ Database
public class ConnectDB
{
    //SQL Server
    public SqlConnection SqlStrCon()
    {
        return new SqlConnection("Data Source=127.0.0.1;Initial Catalog=xxxx" +
            ";Persist Security Info=True;User ID=xxxx;Password=xxxx");
    }
    //Access
    public OleDbConnection AccessStrCon()
    {
        return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\xxxx.mdb");
    }
    //Oracle
    public OracleConnection OracleStrCon()
    {
        return new OracleConnection("Data Source=xxxx;Persist Security Info=True;User ID=xxxx;Password=xxxx;Unicode=True");
    }
}
public class DBClass
{
    //SQL Server Class
    #region
    public DataSet SqlGet(string sql, string tblName)
    {
        SqlConnection conn = new ConnectDB().SqlStrCon();
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, tblName);
        return ds;
    }
    public DataSet SqlGet(string sql, string tblName, SqlParameterCollection parameters)
    {
        SqlConnection conn = new ConnectDB().SqlStrCon();
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        foreach (SqlParameter param in parameters)
        {
            da.SelectCommand.Parameters.AddWithValue(param.ParameterName, param.SqlDbType).Value = param.Value;
        }
        da.Fill(ds, tblName);
        return ds;
    }
    public int SqlExecute(string sql)
    {
        int i;
        SqlConnection conn = new ConnectDB().SqlStrCon();
        SqlCommand cmd = new SqlCommand(sql, conn);
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    public int SqlExecute(string sql, SqlParameterCollection parameters)
    {
        int i;
        SqlConnection conn = new ConnectDB().SqlStrCon();
        SqlCommand cmd = new SqlCommand(sql, conn);
        foreach (SqlParameter param in parameters)
        {
            cmd.Parameters.AddWithValue(param.ParameterName, param.SqlDbType).Value = param.Value;
        }
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    public DataSet SqlExcSto(string stpName, string tblName, SqlParameterCollection parameters)
    {
        SqlConnection conn = new ConnectDB().SqlStrCon();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = stpName;
        foreach (SqlParameter param in parameters)
        {
            cmd.Parameters.AddWithValue(param.ParameterName, param.SqlDbType).Value = param.Value;
        }
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds, tblName);
        return ds;
    }
    #endregion

    //Access Class
    #region
    public DataSet AccGet(string sql, string tblName)
    {
        OleDbConnection conn = new ConnectDB().AccessStrCon();
        OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, tblName);
        return ds;
    }
    public DataSet AccGet(string sql, string tblName, OleDbParameterCollection parameters)
    {
        OleDbConnection conn = new ConnectDB().AccessStrCon();
        OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        foreach (OleDbParameter param in parameters)
        {
            da.SelectCommand.Parameters.AddWithValue(param.ParameterName, param.OleDbType).Value = param.Value;
        }
        da.Fill(ds, tblName);
        return ds;
    }
    public int AccExecute(string sql)
    {
        int i;
        OleDbConnection conn = new ConnectDB().AccessStrCon();
        OleDbCommand cmd = new OleDbCommand(sql,conn);
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    public int AccExecute(string sql, OleDbParameterCollection parameters)
    {
        int i;
        OleDbConnection conn = new ConnectDB().AccessStrCon();
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        foreach (OleDbParameter param in parameters)
        {
            cmd.Parameters.AddWithValue(param.ParameterName, param.OleDbType).Value = param.Value;
        }
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    #endregion

    //Oracle Class
    #region
    public DataSet OracleGet(string sql, string tblName)
    {
        OracleConnection conn = new ConnectDB().OracleStrCon();
        OracleDataAdapter da = new OracleDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, tblName);
        return ds;
    }
    public DataSet OracleGet(string sql, string tblName, OracleParameterCollection parameters)
    {
        OracleConnection conn = new ConnectDB().OracleStrCon();
        OracleDataAdapter da = new OracleDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        foreach (OracleParameter param in parameters)
        {
            da.SelectCommand.Parameters.AddWithValue(param.ParameterName, param.OracleType).Value = param.Value;
        }
        da.Fill(ds, tblName);
        return ds;        
    }
    public int OracleExecute(string sql)
    {
        int i;
        OracleConnection conn = new ConnectDB().OracleStrCon();
        OracleCommand cmd = new OracleCommand(sql, conn);
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    public int OracleExcute(string sql, OracleParameterCollection parameters)
    {
        int i;
        OracleConnection conn = new ConnectDB().OracleStrCon();
        OracleCommand cmd = new OracleCommand(sql, conn);
        foreach (OracleParameter param in parameters)
        {
            cmd.Parameters.AddWithValue(param.ParameterName, param.OracleType).Value = param.Value;
        }
        conn.Open();
        i = cmd.ExecuteNonQuery();
        conn.Close();
        return i;
    }
    #endregion
}




ตัวอย่างการใช้งาน

Code (C#)
//การใช้งาน Class SQL
        //อ่านข้อมูลจาก Database แบบไม่มี Parameters
        string sql1 = "Select * from Employees";
        DataSet dsEmp1 = new DBClass().SqlGet(sql1,"tblEmployee");

        //อ่านข้อมูล แบบใช้ parameters
        string sql2 = "select * from Employees where empId=@empId";
        SqlParameterCollection param = new SqlCommand().Parameters;
        param.AddWithValue("empId",SqlDbType.Int).Value = 1;
        DataSet dsEmp2 = new DBClass().SqlGet(sql2, "tblEmployee", param);

        //Insert,delete,update
        string sql3 = "Insert into Employees(empId,empName) " +
                " Values(1,'pheak')";
        int i = new DBClass().SqlExecute(sql3);

        //Insert,delete,update แบบใช้ Parameters
        string sql4 = "Insert into Employees(empId,empName) " +
            " Values(@empId,@empName) ";
        SqlParameterCollection param2 = new SqlCommand().Parameters;
        param2.AddWithValue("empId", SqlDbType.Int).Value = 1;
        param2.AddWithValue("empName",SqlDbType.VarChar).Value = "pheak";
        int i2 = new DBClass().SqlExecute(sql4, param2);

        //ส่วน Access กับ Oracle ตัวอย่างก็จะคล้ายๆ กับ SQL ครับ ต่างกันตรงที่
        // Oracle สามารถประกาศ OracleParameterCollection param = new OracleParameterCollection();
        // ส่วนจุดอื่นๆ ก็เหมือนกัน โดยที่ Access ใช้ AccGet,AccExecute ส่วน Oracle ใช้ OracleGet,OracleExcute




Tag : .NET, Ms Access, Ms SQL Server 2008, Oracle, Web (ASP.NET), Win (Windows App)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-08 15:34:17 By : superpheak View : 20516 Reply : 21
 

 

No. 1



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

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

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

ขอบคุณแทนสมาชิกคนอื่น ๆ ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-08 16:07:54 By : webmaster
 


 

No. 2

Guest


เจ๋งมากพี่ชาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-11 18:56:46 By : IrisCode
 

 

No. 3

Guest


error ที่ (sql1,"tblEmployee"); แก้ยังงไง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-09 23:34:32 By : ดกดกดำ
 


 

No. 4



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



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

ขอบคุณครับ สำหรับบทความดี ๆ อย่างงี้

จะนำไปศึกษาและฝึกฝน ให้สมกับความตั้งใจ ของ จขกท. ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-10 21:52:12 By : likhit
 


 

No. 5



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



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


ขอบคุณมาก ๆ ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-19 16:03:09 By : m
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : ดกดกดำ เมื่อวันที่ 2011-05-09 23:34:32
รายละเอียดของการตอบ ::
string sql1 = "Select * from Employees";
DataSet dsEmp1 = new DBClass().SqlGet(sql1,"tblEmployee");

Employees != tblEmployee;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-20 10:29:36 By : Programนั่ว !
 


 

No. 7



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



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

อยากได้ โค้ด connect db โดย get จากไฟล์ config.cf อ่ะครับ
พอจะีมีตัวอย่างหรือเปล่า


ขอบคุณครัีบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-20 11:40:23 By : tee
 


 

No. 8

Guest


สวดยอดจิงๆ ตามหามาครึ่งปี วิธีที่ไม่ต้องประกาศ ตป connect ทุกฟอร์ม ขอบคุณมากๆค่า _/|\_
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-11 21:46:23 By : imodtanoy
 


 

No. 9



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

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-12 08:49:42 By : mr.win
 


 

No. 10



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



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


Thank you so much :: for teach
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-15 10:57:49 By : maxca789
 


 

No. 11



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



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

ขอบคุณ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-07 12:42:47 By : KT-Revenue
 


 

No. 12

Guest


แจ๋ว ***** ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-10 10:31:03 By : อยากขอบคุณ
 


 

No. 13

Guest


เวลาเขียน DataSet ใน Class ทำไมมันแดงๆอ่ะค่ะ

C#
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-08 00:04:45 By : Am
 


 

No. 14

Guest


using System.Data;


สิมันค่อยไม่แดง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-06 19:32:54 By : Gotzillas
 


 

No. 15



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



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


กด like ตรงไหนครับ อยากให้ซัก 1000Like ขอบคุณมากครับต้องการพอดี ^_^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-09 01:48:20 By : myclassic
 


 

No. 16



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



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


เจ๋งครับ มีประโยชน์กับผมมาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-12 23:38:20 By : tle_atiwat
 


 

No. 17



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



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


ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 14:35:30 By : kuangside
 


 

No. 18



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



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

ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-23 14:38:21 By : Zakariya
 


 

No. 19



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



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


ปัจจบัน Oracle ได้อัพเดทไปใช้ Oracle.DataAccess.Client แล้วนะครับ โค้ดต้นฉบับมีการเปลี่ยนแปลงเล็กน้อย เปลี่ยนจาก Parameters.AddWithValue เป็น Parameters.Add

Code (C#)
using Oracle.DataAccess.Client;


Code (C#)
//Oracle Class
        #region Oracle
        public DataSet OracleGet(string sql, string tblName)
        {
            OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
            OracleDataAdapter da = new OracleDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, tblName);
            return ds;
        }
        public DataSet OracleGet(string sql, string tblName, OracleParameterCollection parameters)
        {
            OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
            OracleDataAdapter da = new OracleDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            foreach (OracleParameter param in parameters)
            {
                da.SelectCommand.Parameters.Add(param.ParameterName, param.OracleDbType).Value = param.Value;
            }
            da.Fill(ds, tblName);
            return ds;
        }
        public int OracleExecute(string sql)
        {
            int i;
            OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
            OracleCommand cmd = new OracleCommand(sql, conn);
            conn.Open();
            i = cmd.ExecuteNonQuery();
            conn.Close();
            return i;
        }
        public int OracleExcute(string sql, OracleParameterCollection parameters)
        {
            int i;
            OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
            OracleCommand cmd = new OracleCommand(sql, conn);
            foreach (OracleParameter param in parameters)
            {
                cmd.Parameters.Add(param.ParameterName, param.OracleDbType).Value = param.Value;
            }
            conn.Open();
            i = cmd.ExecuteNonQuery();
            conn.Close();
            return i;
        }
        #endregion



ประวัติการแก้ไข
2014-10-06 14:26:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 14:24:11 By : snowbell
 


 

No. 20



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



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

ผู้ให้ย่อยสง่า ผู้รับย่อมนอบน้อม
ขอบคุณมากมายครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-17 22:12:49 By : datdit
 


 

No. 21

Guest


ถ้ามี join 2 table ทำไงค่ะพอทำแล้วมัน error da.fill อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-24 12:10:15 By : สิ
 

   

ค้นหาข้อมูล


   
 

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