سلام دوست عزیز
فکر کنم شما می خواهی برنامه نویسی 3 لایه انجام بدی
خب این کار می شه گفت خیلی راحت تر از روش معمولی من که حتی تو برنامه های معمولی ام از روش 3 لایه استفاده می کنم
برای این کار هم
قدم اول:
یک کلاس از نوع DataBase درست کن و کد مربوط به اتصال،قطع ، ویرایش و مشاهده رو توش بربز (کد رو برات نوشتم)
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
namespace Library_Management
{
public class DataBase
{
SqlConnection conection = new SqlConnection();
public void conect()
{
conection.ConnectionString = "Data Source=ATILI-VAIO;Initial Catalog=DataBase;Integrated Security=True";
if (conection.State == ConnectionState.Closed) conection.Open();
}
public void disconect()
{
if (conection.State == ConnectionState.Open) conection.Close();
}
public DataTable command(SqlCommand command)
{
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(command);
command.Connection = conection;
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
da.Fill(dt);
return dt;
}
public void docammand(SqlCommand command)
{
command.Connection = conection;
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
}
}
}
خب این قدم اول یهنی لایه اول
برای قدم بعدی:
یه کلاس هم نام با جدولت تو دیتابیس (حتماً نباید هم نام باشه اما اگه همنام باشه کار خودت راحت تره)
و کد مربوط رو که می خواهی توی اون کلاس بنوسی
برای نمونه من کد مشاهده رو نوشتم
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
namespace Library_Management
{
public class Class_Admin
{
public DataTable Show_Admin()
{
DataTable dt = new DataTable();
DataBase db = new DataBase();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandText = "select * from Admin";
db.conect();
dt = db.command(Cmd);
db.disconect();
return dt;
}
}
}
خب 2 تا لایه رو درست کردی
تنها کاری که باید بکنی این که:
قدم سوم:
تو برنامت از کلاس دومی استفاده کنی یعنی اصلاً به دیتابس دیگه کاری نداری خب خیلی راحت تری ( هم تو هم برنامت)
برای مثال من می خواهم تمام قیلد های موجود در جدول Admin رو همه اطلاعات رو بخونه و تو دیتا گرید نشون بده
فقط کافیه 2 خط کد بنویسم
private void button1_Click(object sender, EventArgs e)
{
Class_Admin Admin = new Class_Admin();
dataGridView1.DataSource = Admin.Show_Admin();
{
می بنی تموم شد فقط برنامت 2 خط داره و خیلی سرعتش تو فیلدهای زیاد سریعتره
باز اگه مشکلی بود باهام در میون بذار