در اینجا ابتدا میاد اتصال ساده به دیتا بیس رو انجام میدیم:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM tblStudent";
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void btnadd_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnDelete_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
حالا اینجا میاد نگاه میکنه میبینه که چون یه سری چیزا رو مشترک داره پس میاد اون مشترکا رو توی یک متد قرار میده و بعد برای همشون استفاده میکنه:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM tblStudent";
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
protected void btnUpdate_Click(object sender, EventArgs e)
{
string str=string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
Perform(str);
}
//tekrar perform dar har file
private void Perform(string strcmd)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = string.Format(strcmd);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
به این سه کلاس نگاه کنید:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for clsDB
/// </summary>
public class clsDB
{
public clsDB()
{
//
// TODO: Add constructor logic here
//
}
public static void Perform(string strcmd)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = strcmd;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
public static DataTable GetData(string strcmd)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = strcmd;
cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for clsDB
/// </summary>
public class clsDB2
{
private static SqlConnection conn;
private static SqlCommand cmd;
static clsDB2()
{
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
//SqlCommand cmd = new SqlCommand();
cmd = new SqlCommand();
cmd.Connection = conn;
}
public static void Perform(string strcmd)
{
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
//SqlCommand cmd = new SqlCommand();
cmd.CommandText = strcmd;
//cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
public static DataTable GetData(string strcmd)
{
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
//SqlCommand cmd = new SqlCommand();
cmd.CommandText = strcmd;
//cmd.Connection = conn;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for clsDB
/// </summary>
public static class clsDB3
{
private static SqlConnection conn;
private static SqlCommand cmd;
public static DataTable GetData(string strcmd)
{
lock (conn)
{
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandText = strcmd;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
}
و حالا به این فرم زیر که اومده از این کلاسها برای راحتی کارش و سریع در دسترس بودن اونها استفاده کرده:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_PreRender(object sender, EventArgs e)
{
////tekrar
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
//SqlDataAdapter da = new SqlDataAdapter();
//SqlCommand cmd = new SqlCommand();
//cmd.CommandText = "SELECT * FROM tblStudent";
//cmd.Connection = conn;
//da.SelectCommand = cmd;
//DataTable dt = new DataTable();
//conn.Open();
//da.Fill(dt);
//conn.Close();
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for clsDB
/// </summary>
public class clsDB
{
private SqlConnection conn;
private SqlCommand cmd;
public clsDB()
{
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
cmd = new SqlCommand();
cmd.Connection = conn;
}
public void Perform(string strcmd)
{
cmd.CommandText = strcmd;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
public DataTable GetData(string strcmd)
{
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandText = strcmd;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
اینم فراخونی ای که از کلاس بالا گرفته شده:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
حالا این برنامه به فرض کار کنه اما باید با خودمون بگیم که نمیشه به ازای یکبار اتصال کلی به جاده ارتباطات به دیتابیس همه بیان و استفاده هاشونو انجام بدن به همین خاطر پس بهتر دونستیم که بیایم به ازای هرفرد یک اتصال به دیتابیس انجام بدیم:
این کلاس:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for clsDB
/// </summary>
public class clsDB
{
private SqlConnection conn;
private SqlCommand cmd;
public clsDB(string strconn)
{
conn = new SqlConnection(strconn);
cmd = new SqlCommand();
cmd.Connection = conn;
}
public void Perform(string strcmd)
{
cmd.CommandText = strcmd;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
public DataTable GetData(string strcmd)
{
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandText = strcmd;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
return dt;
}
}
واین فراخونی ای که انجام میدیم:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
clsDB db1;
علاقه مندی ها (Bookmarks)