 |
|
เอา Class สำหรับ Connect Database มาแจก ติดต่อ ACCESS,MSSQL,ORACLE |
|
 |
|
|
 |
 |
|
เป็น 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)
|
|
 |
 |
 |
 |
Date :
2011-02-08 15:34:17 |
By :
superpheak |
View :
20610 |
Reply :
21 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณแทนสมาชิกคนอื่น ๆ ครับ 
|
 |
 |
 |
 |
Date :
2011-02-08 16:07:54 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เจ๋งมากพี่ชาย
|
 |
 |
 |
 |
Date :
2011-02-11 18:56:46 |
By :
IrisCode |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
error ที่ (sql1,"tblEmployee"); แก้ยังงไง
|
 |
 |
 |
 |
Date :
2011-05-09 23:34:32 |
By :
ดกดกดำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ สำหรับบทความดี ๆ อย่างงี้
จะนำไปศึกษาและฝึกฝน ให้สมกับความตั้งใจ ของ จขกท. ครับ
|
 |
 |
 |
 |
Date :
2011-05-10 21:52:12 |
By :
likhit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมาก ๆ ค่ะ
|
 |
 |
 |
 |
Date :
2011-05-19 16:03:09 |
By :
m |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากได้ โค้ด connect db โดย get จากไฟล์ config.cf อ่ะครับ
พอจะีมีตัวอย่างหรือเปล่า
ขอบคุณครัีบ
|
 |
 |
 |
 |
Date :
2011-05-20 11:40:23 |
By :
tee |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สวดยอดจิงๆ ตามหามาครึ่งปี วิธีที่ไม่ต้องประกาศ ตป connect ทุกฟอร์ม ขอบคุณมากๆค่า _/|\_
|
 |
 |
 |
 |
Date :
2012-11-11 21:46:23 |
By :
imodtanoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2012-11-12 08:49:42 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Thank you so much :: for teach
|
 |
 |
 |
 |
Date :
2012-11-15 10:57:49 |
By :
maxca789 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณ 
|
 |
 |
 |
 |
Date :
2012-12-07 12:42:47 |
By :
KT-Revenue |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แจ๋ว ***** ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2012-12-10 10:31:03 |
By :
อยากขอบคุณ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เวลาเขียน DataSet ใน Class ทำไมมันแดงๆอ่ะค่ะ

|
 |
 |
 |
 |
Date :
2013-06-08 00:04:45 |
By :
Am |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
using System.Data;
สิมันค่อยไม่แดง
|
 |
 |
 |
 |
Date :
2013-08-06 19:32:54 |
By :
Gotzillas |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กด like ตรงไหนครับ อยากให้ซัก 1000Like ขอบคุณมากครับต้องการพอดี ^_^
|
 |
 |
 |
 |
Date :
2013-11-09 01:48:20 |
By :
myclassic |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เจ๋งครับ มีประโยชน์กับผมมาก
|
 |
 |
 |
 |
Date :
2013-11-12 23:38:20 |
By :
tle_atiwat |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ
|
 |
 |
 |
 |
Date :
2014-02-20 14:35:30 |
By :
kuangside |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ

|
 |
 |
 |
 |
Date :
2014-06-23 14:38:21 |
By :
Zakariya |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปัจจบัน 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผู้ให้ย่อยสง่า ผู้รับย่อมนอบน้อม
ขอบคุณมากมายครับ
|
 |
 |
 |
 |
Date :
2014-10-17 22:12:49 |
By :
datdit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้ามี join 2 table ทำไงค่ะพอทำแล้วมัน error da.fill อ่ะค่ะ
|
 |
 |
 |
 |
Date :
2015-06-24 12:10:15 |
By :
สิ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|