نمایش نتایج 1 تا 4 از 4

نام تاپیک: ساخت کلاس برای ارتباط با پایگاه داده

  1. #1

    Question ساخت کلاس برای ارتباط با پایگاه داده

    سلام
    سوال من اینه من اگه بخوام با پایگاه داده ارتباط برقرار کنم توی برنامه های کوچک می تونم چند بار شی های ارتباط با پایگاه داده رو بنویسم مثلا (در جاهای مختلف چند بار شی sql connection یا sql dataadapter ) رو به کار ببرم ولی در برنامه های بزرگ دیگه نمی شه این کارو کرد باید اول یک کلاس ایجاد و از طریق این کلاس با پایگاه داده ارتباط برقرار کرد تا هم سرعت برنامه پایین نیاد و هم حجم برنامه بالا نره خب مشکل من اینه که من همش روی برنامه های کوچک کار کردم و از راه اول استفاده کردم ولی الان دارم روی پروژه بزرگ کار می کنم و نیاز به راه دوم دارم ولی بلد نیستم اگه دوستای برنامه نویسم لطفی کنن من راهنمایی کنن متشکرم (خواهش می کنم تاپیکو حذف نکنید)

  2. #2
    کاربر دائمی آواتار dataking
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    شیراز
    پست
    159

    نقل قول: ساخت کلاس برای ارتباط با پایگاه داده

    سلام
    یک بار این دستورات را بنویس و با فراخوانی کن

    private sub sqlconect
     دستورات لازم را اینجا بنویس

    end sub
    sqlconect یه اسم می تونه هر اسم دیگه ای باشه

    هر جا خواستی می تونی فراخوانی کنی
    call sqlconect

  3. #3
    کاربر دائمی آواتار uniqueboy_ara
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    420

    نقل قول: ساخت کلاس برای ارتباط با پایگاه داده

    میتونی از این استفاده کنی


    ارتباط سریع و آسان از #C به SQLserver

  4. #4
    کاربر تازه وارد آواتار ATili.Nero
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رامسر
    سن
    31
    پست
    30

    نقل قول: ساخت کلاس برای ارتباط با پایگاه داده

    سلام دوست عزیز
    فکر کنم شما می خواهی برنامه نویسی 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 خط داره و خیلی سرعتش تو فیلدهای زیاد سریعتره
    باز اگه مشکلی بود باهام در میون بذار

قوانین ایجاد تاپیک در تالار

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