نمایش نتایج: از شماره 1 تا 1 از مجموع 1
Like Tree2نفر پسندیدند
  • 2 ارسال توسط NIIT

موضوع: ConnectToDataBase From ObjectOriented

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    ConnectToDataBase From ObjectOriented

    در اینجا ابتدا میاد اتصال ساده به دیتا بیس رو انجام میدیم:
    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();

    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    }



    حالا اینجا میاد نگاه میکنه میبینه که چون یه سری چیزا رو مشترک داره پس میاد اون مشترکا رو توی یک متد قرار میده و بعد برای همشون استفاده میکنه:
    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)
    {
    string str = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
    Perform(str);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    string str = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
    Perform(str);
    }

    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;

    static clsDB3()
    {
    conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);
    cmd = new SqlCommand();
    cmd.Connection = conn;
    }
    public static void Perform(string strcmd)
    {
    lock (conn)
    {
    cmd.CommandText = strcmd;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    }
    }

    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();

    GridView1.DataSource = clsDB.GetData("SELECT * FROM tblStudent");
    GridView1.DataBind();
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
    string str = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
    clsDB3.Perform(str);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    string str = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
    clsDB.Perform(str);
    }

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
    string str=string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
    clsDB.Perform(str);
    }

    ////deleted
    //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
    {
    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;

    protected void Page_PreRender(object sender, EventArgs e)
    {
    GridView1.DataSource = db1.GetData("SELECT * FROM tblStudent");
    GridView1.DataBind();
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
    string str = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
    db1.Perform(str);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    string str = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
    db1.Perform(str);
    }

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
    string str=string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
    db1.Perform(str);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
    db1 = new clsDB();

    }
    }



    حالا این برنامه به فرض کار کنه اما باید با خودمون بگیم که نمیشه به ازای یکبار اتصال کلی به جاده ارتباطات به دیتابیس همه بیان و استفاده هاشونو انجام بدن به همین خاطر پس بهتر دونستیم که بیایم به ازای هرفرد یک اتصال به دیتابیس انجام بدیم:
    این کلاس:
    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;

    protected void Page_PreRender(object sender, EventArgs e)
    {
    GridView1.DataSource = db1.GetData("SELECT * FROM tblStudent");
    GridView1.DataBind();
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
    string str = string.Format("INSERT INTO tblStudent(stid,stname) VALUES({0},'{1}')", TextBox1.Text, TextBox2.Text);
    db1.Perform(str);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    string str = string.Format("DELETE FROM tblStudent WHERE STID={0}", TextBox3.Text);
    db1.Perform(str);
    }

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
    string str=string.Format("UPDATE tblStudent SET STNAME='{1}' WHERE STID={0}", TextBox1.Text, TextBox2.Text);
    db1.Perform(str);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
    db1 = new clsDB(ConfigurationManager.ConnectionStrings["dbUniversityConnectionString1"].ConnectionString);

    }
    }




    اینطوری برنامه خیلی بهتر اجرا میشه و سرعتش هم به نسبت بیشتر خواهد بود.

    Hossein و Shojaee این را میپسندند

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 03:44 PM بر حسب GMT +4 می باشد.