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

نام تاپیک: انواع ارتباط با دیتابیس از نظر سرعت ، امنیت ، راحتی در کدنویسی و ...

  1. #1
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    Post انواع ارتباط با دیتابیس از نظر سرعت ، امنیت ، راحتی در کدنویسی و ...

    باسلام
    سوالم از شما دوستان این هست تو سی شارپ سریعترین روش یا فناوری بهمراه + کم خطاترین روش ممکن برای اتصال به بانک ، گزارشگیری ها و انجام عملیات اصلی رو بانک داده ها در حجم بالای داده ها کدام روش میباشد؟؟
    من قبلا با commandtext و linq کار کردم، میدونم همشون سریع هستند ولی میخام هم سریعترین باشه ، هم کم خطاترین و هم مقداری کار با اون ساده و راحت باشه ....

  2. #2

    نقل قول: سریعترین ارتباط ممکن با دیتابیس در سی شارپ

    Entity Framework (آخرین تکنولوژی ماکروسافت در زمینه ارتباط با بانک اطلاعاتی )
    http://irmeta.com/meta/index.php?topic=6232.0

  3. #3
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: سریعترین ارتباط ممکن با دیتابیس در سی شارپ

    ado.net ؟
    .
    مزیتش چیه؟
    سمپل دارید؟

  4. #4

    نقل قول: سریعترین ارتباط ممکن با دیتابیس در سی شارپ

    نقل قول نوشته شده توسط modern_amin مشاهده تاپیک
    ado.net ؟
    .
    مزیتش چیه؟
    سمپل دارید؟
    مدل ساخت یافته ای از ADO.NET هستش.
    توی سایت که الان آدرسشو خاطرم نیست ADO.NET , Linq , Entity Framework رو مقایسه کرده بودن و به نتایج جالبی رسیده بودن . یه جستجو کنی کلی نمونه کد و سمپل پیدا میکنی.

  5. #5

    Unhappy دستورات استاندارد اتصال #C به SQL Server

    سلام میخواستم ببینم دستور استاندارد سی شارپ برای اتصال به sql چی هستش؟
    یه مبتدی مثل من وقتی سرچ میکنه با خیل کدها روبرو میشه.اخرشم گیچ میشه که کدومش استاندارده.البته شاید هم همش استاندارد باشه و شاید هم نه.
    اگه کسی راهنمایی کنه که نمونه کد استاندارد چیه ممنون میشم.البته با کمی توضیح که دلیلش رو هم بدونم.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    1 سر به اینجا بزن !

  7. #7

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    سلام ممنون
    چیزی دستگیرم نشد از این سایت.
    اخه توی همین بخش سی شارپ توی تاپیک نمونه برنامه ها واسه ارتباط با sql چندین نوع راه و روش وجود داره.میخواستم ببینم کدوم راه و کدها استانداردتره.

  8. #8

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    سلام
    براي كانكشن من از اين روش استفاده ميكنم كه ديدم توي دو تا پروژه بزرگ كه وابسته به جاهاي مهم بودن استفاده شده
    اول يه كلاس ميسازم به اسم مثلا Connection
    بعد توش اين تابع رو مي نويسم:

    public static SqlConnection ConnectToFix()
    {

    string ConnectioString = "Data Source="+ System.Net.Dns.GetHostName()+";Initial Catalog=Fix;Integrated Security=True; Min Pool Size = 20";
    SqlConnection connection = new SqlConnection(ConnectioString );

    try
    {
    connection.Open();
    }
    catch (SqlException)
    {
    connection.Close();
    }
    return connection;


    }


    موقع استفاده هم هر جايي كه بخوام اينطوري فراخواني ميكنم:

    SqlConnection connection = Connection.ConnectToFix();


    موفق باشين

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    تکنولوژی های زیادی واسه ارتباط با دیتابیس هست LinQ ، ADO.Net و Entity FrameWork که جدیدا ازش استفاده میشه هر کدوم از این تکنولوزی ها هم روش های زیادی واسه ارتباط با دیتابیس دارن اون دیگه مونده به دست خط برنامه نویس که چجور بنویسه نمیشه گفت کدوم دقیقا استاندارد تره برای مثال تو این لینک ADO.Net توضیح داده شده.

  10. #10

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    ممنون از پاسخ هاتون.
    ببخشید چرا نمیشه گفت دقیقا کدوم استانداردتره؟
    و اینکه از کانکشن بالا چون در پروژه های بزرگ استفاده شده دلیل بر استاندارد بودنشونه؟
    این دو سوال فقط جنبه سوالی داره ، نه ، جنبه انکاری؟

  11. #11
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    مثلا LinQ خیلی ساده تر و بهتر از ADO.Net ولی با Multi Threading مشکل داره! هرکدوم محسنات و معایبی دارن واسه پروژه های بزرگ اصلا LinQ توصیه نمیشه به همون علتی که گفتم در عوض Ado.Net پیچیده تره ولی همیشه جواب میده بهتره که برنامه نویس سوای استاندارد بودن یا نبودن، ساده بودن یا نبودن همه ی این تکنولوژی هارو بلد باشه!!

  12. #12

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    ممنون
    شما فرض رو بردین روی حالتی که طرف متوسط رو به بالا هستش.ولی من نوعی مبتدی هستم و وقتی با این همه تکنولوژی روبرو میشم ، طبیعی هستش که اولا گیج بشمو ثانیا نفهمم چه خبره.پس عقل حکم میکنه که در ابتدا راه استاندارد رو پیش بگیرم بعد برسه به تکنولوژی های دیگه.
    حالا شما این نوع کد توی لینکی که داده بودین میگین که استاندارده؟

  13. #13

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    ممنون
    شما فرض رو بردین روی حالتی که طرف متوسط رو به بالا هستش.ولی من نوعی مبتدی هستم و وقتی با این همه تکنولوژی روبرو میشم ، طبیعی هستش که اولا گیج بشمو ثانیا نفهمم چه خبره.پس عقل حکم میکنه که در ابتدا راه استاندارد رو پیش بگیرم بعد برسه به تکنولوژی های دیگه.
    حالا شما این نوع کد توی لینکی که داده بودین میگین که استاندارده؟

  14. #14
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    بله شما میتونی از اون طریق شروع کنی!!

    اینم ی pdf خوب که از 0 توضیح داده همه چیو!
    فایل های ضمیمه فایل های ضمیمه

  15. #15
    کاربر دائمی آواتار majid_i68
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    گچساران
    سن
    35
    پست
    267

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    برای استفاده از این کلاس ها باید فضای نام زیر را با استفاده از using به برنامه اضافه کرد .
    System.Data.SqlClient ;

    1- کلاس SqlConnection :

    این کلاس وظیفه برقراری ارتباط بین برنامه و بانک اطلاعاتی را بر عهده دارد .
    - هنگامی که می خواهید یک نمونه از ان کلاس را ایجاد کنید باید پارامتری را به نام Connection String به آن ارسال کنید .
    Connection String رشته ای است که شامل تمام داده های مورد نیاز برای برقراری اتصال به یک بانک اطلاعاتی می شود .
    ویژوال استودیو با استفاده از ویزارد AddConnection و اطلاعاتی که کاربر وارد می کند چنین رشته ای را ایجاد کرده و در اختیار SqlConnection قرار می دهد .
    اغلب بهتر است که متن لازم برای ConnectionString را خودمان بنویسیم که به صورت زیر است :


    “Data Source = local;Initial Catalog = university;Integrated Security = True”

    در کد بالا: local نام سروری است که بانک بر روی آن قرار دارد که در اینجا چون سرور خود کامپیوتر ماست مقدار آن را local قرار داده ایم که می توانیم به جای آن از “.” (نقطه) هم استفاده کنیم .
    University نام بانکی است که قرار است ما با اطلاعات آن کار کنیم .
    -متن ConnectionString به صورت پارامتر به شیئ جدید SqlConnection فرستاده می شود به صورت زیر:



    SqlConnection Con = New SqlConnection( “Data Source = local;Initial Catalog = university;Integrated Security = True”);
    در کد بالا : Con یک نمونه جدید از نوع SqlConnection است که برای استفاده از آن آن را ساخته ایم .
    متصل و قطع کردن اتصال به یک بانک اطلاعاتی :
    با استفاده از متدهای Open و Close در کلاس SqlConnection به بانک متصل شده و یا اتصال خود را قطع کنیم .



    Con.Open(); و Con.Close();


    2- کلاس SqlCommand :
    این کلاس حاوی یک دستور Sql برای اجرا بر روی داده های دریافت شده از بانک اطلاعاتی است این دستور می تواند یک دستور SELECT برای انتخاب داده هایی خاص ، یک دستور INSERT برای درج داده های جدید در بانک اطلاعاتی ، یک دستور DELETE برای حذف داده ها از بانک اطلاعات و یا حتی فراخوانی یک پروسیجر ذخیره شده در بانک اطلاعاتی می باشد .
    ایجاد آن به صورت زیر می باشد :

    SqlCommand Cmd = New SqlCommand();


    نکته – در برنامه های بانک اطلاعاتی معمولا از اشیای ایجاد شده از کلاس SqlCommand به تنهایی استفاده نمی کنند بلکه آنها را همراه با DataSet ها و DataAdapter ها به کار می برند .
    همچنین اشیای SqlCommand می توانند به همراه اشیای ایجاد شده از کلاس DataReader مورد استفاده قرار گیرند .
    خاصیت connection کلاس SqlCommand :
    قبل از اینکه بتوانیم از یک شئ از کلاس SqlCommand استفاده کنیم باید بعضی از خاصیت های آن را تنظیم کنیم اولین خاصیتی که باید تنظیم شود خاصیت Conection است .
    این خاصیت می تواند یک مقدار از نوع SqlConnection را دریافت کند :

    Cmd .Connection = Con ;

    توضیح کد بالا :
    Cmd همان شیئی است که از کلاس SqlCommandقبلا ساخته ایم .
    Con شیئی است که از نوع SqlConnection قبلا ساخته ایم .
    خاصیت CommandText کلاس SqlCommand :
    خاصیتبعدی که باید از کلاس SqlCommand تنظیم شود خاصیت CommandText است .
    این خاصیت متنی را دریافت می کند که می تواند حاوی یک دستور Sql و یا فراخوانی یک پروسیجر ذخیره شده در بانک اطلاعاتی باشد که باید روی داده ها اجرا شود .
    متد ExecuteNonQuery :
    این متد دستورات را بر روی بانک اطلاعات اجرا می کند .
    برای استفاده از این متد باید ابتدا اتصال خود را به بانک اطلاعاتی برقرار کنید سپس با فراخوانی این متد دستور موجود در شئ Command را اجرا کنید .
    کلاس SqlDataReader :
    از طریق این کلاس می توانیم اطلاعات را از بانک دریافت کنیم . که به صورت زیر تعریف می شود :

    SqlDataReader dr;


    متد ExecuteReader :
    برای دریافت اطلاعات از بانک از متد ExecuteReader شی تقاضا استفاده می کنیم ، یک شی از نوع SqlDataReader تعریف کرده و مقدار ExecuteReader را برابر آن قرار می دهیم

    SqlDataReader dr = Cmd.ExecuteReader();


    سپس از طریق متد Read شی DataReader اطلاعات را در یک حلقه واکشی می کنیم .
    ارائه مراحل کلی یک ارتباط و مثال

    برای تقاضا از یک جدول در بانک اطلاعاتی باید مراحل زیر طی شود :
    1- اضافه نمودن فضا نام های مورد نیاز : برای ارتباط با بانک های اطلاعاتی به فضا نام System.Data و همچنین فضا نام System.Data.SqlClient برای کار با دیتابس SQLServer و فضا نام System.Data.Oledb برای کار با بانک Access نیازمندیم .
    2- تعیین رشته اتصال (ConnectionString) : رشته اتصال رشته شامل تنظیماتی جهت اتصال به بانک اطلاعاتی می باشد ، این رشته برای هر بانک متفاوت خواهد بود
    3-تعیین شی اتصال (Connection Object) : کلاسی است برای برقراری ارتباط با بانک اطلاعاتی است ، این شی که از کلاس DbConnection ارث بری می کند اعمالی مانند باز و بسته کردن اتصال با بانک را از طریق رشته اتصال انجام می دهد.
    4- تعیین رشته تقاضا (Command Text) : همان دستورات SQL است که جهت یک تفاضا ارائه می گردد ، این تفضا جهت دریافت اطلاعات (Select) درج اطلاعات (Insert) ، ویرایش اطلاعات(Update) و یا حذف اطلاعات(Delete) یا... صورت می گیرد .
    5- تعیین شی تقاضا (Command Object) : کلاسی است جهت ارسال و دریافت تقاضا از طریق شی اتصال به بانک اطلاعاتی
    6- باز کردن اتصال
    7- اجرای درخواست
    8- دریافت اطلاعات (در صورتی که تقاضا Select باشد)
    9- بستن اتصال
    - «درج ، حذف و بروز رسانی » برای درج ، حذف و بروز رسانی به صورت متصل و مستقیم از متد ExecuteNoneQuery مربوط به شی Command استفاده می شود . این شی درخواست مربوط به insert,delete,update یا هر درخواست دیگری را بدون هیچ درخواستی انجام میدهد و خروجی آن تعداد سطر های تحت تاثیر درخواست می باشد.


    string connectionString = "Data Source=(local);Initial Catalog=univercity;Integrated Security=true;”;
    SqlConnection Con = new SqlConnection(connectionString);
    string commandText = "insert into student(name,family) values('ali','arefi’)”;
    SqlCommand Cmd = new SqlCommand(CommandText, Con);
    Con.Open();
    Cmd.ExecuteNonQuery();
    Con.Close();

    معرفی خاصیت ها و دو کد نمونه Placeholder ها :متغیرهایی هستند که در یک دستور Sql قرار می گیرندو می توانند در زمان اجرای برنامه جای خود را با عبارتی خاص عوض کنند این متغیرها با علامت @ در یک دستور مشخص می شوند . و هنگامی که از آنها در یک دستور Sql استفاده کنیم قبل از اجرای دستور باید تمامی آنها را با مقادیر مناسب تعویض کنیم . که این کار به صورت اتوماتیک توسط برنامه در زمان اجرای دستور انجام می شود.اما باید پارامترهایی را ایجاد کرده و آن را در لیست parameters در شئ ایجاد شده از کلاس SqlCommand قرار دهیم تا برنامه بداند هنگام اجرای دستور هر placeholder را باید با مقدار چه متغیری در برنامه عوض کند . نکته – هیچ ضرورتی ندارد که نام یک placeholder همنام فیلدی باشد که قرار است مقدار placeholder در آن قرار بگیرد .خاصیت parameters کلاس SqlCommand :برای دسترسی به لیست پارامترهایی که در یک شئ از کلاس SqlCommand وجود دارد می توانیم از خاصیت parameters در این کلاس استفاده کنیم . این خاصیت حاوی لیستی از placeholder ها به همراه متغیرهای وابسته به آنها است بنابراین در کد قبل از اجرای دستور ، باید به وسیله ی این لیست مشخص کنیم که هر placeholder با مقدار چه متغیری باید تعویض شود .مثالی از درج رکورد در بانک اطلاعات : در این کد می خواهیم در جدول student از بانک university ، یک رکورد اضافه کنیم این جدول شامل سه فیلد می باشد که اطلاعات آن توسط کاربر در TextBox ها وارد می شود و برنامه با گرفتن این اطلاعات آنها را در جدول بانک ذخیره می کند .

  16. #16
    کاربر دائمی آواتار majid_i68
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    گچساران
    سن
    35
    پست
    267

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    Strcon= “Data Source = (local);Initial Catalog = university;Integrated Security = True”; SqlConnection Con = New SqlConnection(Strcon);
    SqlCommand Cmd = New SqlCommand();
    Cmd.Connection = Con;
    Cmd.CommandText= “ insert into student id=@id,lname=@lname,fname=@fname”; Cmd.Parameters.AddWithValue(“@id”,TextBox1.Text);
    Cmd.Parameters.AddWithValue(“@lname”,TextBox2.Text);
    Cmd.Parameters.AddWithValue(“@fname”,TextBox3.Text);
    Con.Open();
    Cmd.ExecuteNonQuery();
    Con.Close();

    توضیح کد بالا : در خط 1 یک متغیر از نوع String تعریف کردیم و راطلاعات اتصال به بانک را در آن قرار دادیم (connectinString ) .خط 2 : شیئی از نوع SqlConnection ساختیم و رشته StrCon را به عنوان پارامتر به آن فرستادیم .خط 3 : شیئی از نوع SqlCommand ساختیم .خط 4 : خاصیت Connection کلاس SqlCommand را برابر شیئ ساخته شده از کلاس SqlConnection قرار دادیم .خط 5 : دستور اجرایی Sql را به شیئ SqlCommand نسبت دادیم (با استفاده از خاصیت CommandText ).خط 6 ، 7 ، 8 : با استفاده از خاصیت Parameters کلاس SqlCommand به placeholder ها مقدار دادیم .خط 9 : اتصال به بانک را برقرار می کنیم .خط 10 : متد اجرایی ExecuetNonQuery را اجرا می کنیم .خط 11 : اتصال برنامه با بانک را قطع می کنیم .مثالی از اصلاح (update ) اطلاعات یک رکورد :حالا می خواهیم اطلاعات یک رکورد از جدول student را اصلاح کنیم و تغییرات را ثبت نماییم . برای این منظور جدول مورد نظر دارای یک کلید است که می توان با استفاده از آن به تمامی اطلاعات رکورد موردنظر دسترسی پیدا کرد . در این جدول فیلد id (شماره دانشجویی ) کلید جدول است .


    Strcon= “Data Source = (local);Initial Catalog = university;Integrated Security = True”;
    SqlConnection Con = New SqlConnection(Strcon);
    SqlCommand Cmd = New SqlCommand();
    Cmd.Connection = Con;
    Cmd.CommandText= “update student lname=@lname,fname=@fname where id=@id”;
    Cmd.Parameters.AddWithValue(“@id”,TextBox1.Text);
    Cmd.Parameters.AddWithValue(“@lname”,TextBox2.Text);
    Cmd.Parameters.AddWithValue(“@fname”,TextBox3.Text);
    Con.Open();
    Cmd.ExecuteNonQuery();
    Con.Close();

    در توضیح کد بالا باید این رو بگم که تمام مراحل آن مانند کد insert می باشد به جز دستور Sql که در خط 5 آمده است و در اینجا update می باشد .

    کلاس SqlDataAdapter

    کلاس SqlDataAdapter :این کلاس در برنامه های بانک اطلاعاتی ، همانند پلی بین جداول اطلاعاتی و نیز داده های موجود در حافظه که به وسیله ی DataSet نگهداری می شوند ، عمل می کنند . و برای استفاده از آن در برنامه باید یک شیئ از نوع آن ساخته شود .


    SqlDataAdapter da = New SqlDataAdapter ();

    این کلاس برای دسترسی به بانک اطلاعاتی از شیئ ایجاد شده از کلاس SqlCommand ای که به آن نسبت داده می شود استفاده می کند .و برای دسترسی به بانک اطلاعات از کلاس SqlCommand و SqlConnection استفاده می کند .


    da . SelectCommand = New SqlCommand();


    خاصیت SelectCommand :

    کلاسSqlDataAdapter دارای خاصیتی این خاصیت است .خاصیت SelectCommand حاوی شیئی از نوع SqlCommand است که از دستور موجود در آن شیئ برای دریافت داده های موردنیاز در برنامه از بانک اطلاعاتی به کار می رود یعنی SqlDataAdapter ، دستوری را که در خاصیت SqlCommand نگهداری می شود را روی بانک اطلاعاتی اجرا کرده و نتایج آن را در کلاس هایی مانند DataSet و یا DataTable قرار می دهد تا در برنامه مورد استفاده قرار گیرند .علاوه بر این ، کلاس SqlDataAdapter دارای خاصیت هایی به نام DeleteCommand ، InsertCommand و UpdatCommand است که به هر یک شیئی از نوع SqlCommand را قبول می کنند و DataAdapter از دستور ذخیره شده در هر یک از آنها به ترتیب بای حذف ، درج و ویرایش داده ها در بانک اطلاعاتی استفاده می کند .
    * هنگامی که بخواهید با استفاده از کلاس DataAdapter اطلاعات مورد نیاز خود را از یک بانک اطلاعاتی دریافت کنید ابتدا باید خاصیت SelectCommand را در DataAdapter تنظیم کنید

    *خاصیت SelectCommand شیئی از نوع SqlCommand دریافت کرده که این شیئ مشخص می کند داده ها چگونه باید از بانک اطلاعات انتخاب شده و نیز چه داده هایی باید انتخاب شوند .

    *اشیاء از نوع SqlCommand نیز دارای خاصیتهایی هستند که قبل از استفاده باید آنها را تنظیم کرد این خاصیت ها عبارتند از :

    - Connection : یک شیئ از کلاس SqlConnection در این قسمت قرار گرفته و نحوه ی اتصال به بانک اطلاعاتی را مشخص می کند .


    da.SelectCommand.Connection = Con;

    - CommandText : دستور Sql و یا پروسیجر ذخیره شده در بانک اطلاعاتی که باید توسط این شیئ اجرا شود ، در این قسمت ذخیره می شود .


    da.SelectCommand.CommandText = “select fields from table ”;

    توضیح کد بالا :در اینجا نوع دستور select می باشد و منظور از fields ، نام فیلدهایی است که می خواهیم اطلاعات آنها را استخراج کنیم اگر بخواهیم همه ی آنها را استخراج کنیم از * استفاده می کنیم و منظور از table نیز نام جدولی است که می خواهیم اطلاعات را از آن استخراج کنیم . نمونه کد :برای مثال می خواهیم اطلاعات فیلدهای نام ، نام خانوادگی و شماره دانشجویی از جدول دانشجو را استخراج کنیم و برای کارمورد نظر استفاده کنیم (پس ما در اینجا فقط اطلاعات را استخراج می کنیم ).


    SqlConnection Con = NewSqlConnection(connectionstring); - 1
    SqlDataAdapter da = New SqlDataAdapter(); - 2
    da.SelectCommand.Connection = Con; - 3
    da.SelectCommand.CommandText =selectfname,lname,id from student; - 4

    دسترسی اطلاعات و اتصال داده ها

    دسترسی به اطلاعات :
    در ویژوال C# برای دسترسی به اطلاعات و نمایش آنها سه کامپوننت مهم و اصلی وجود دارند که عبارتند از :
    Binding Source ،BindingNavigator ، Table Adapter ، DataSet .
    * کامپوننتهای BindingNavigator، Binding Source و DataSetرا می توانید در قسمت Data جعبه ابزار ببینید .
    * کامپوننت TableAdapter نیز بر اساس مسیری که برای دسترسی به اطلاعات درون بانک اطلاعاتی و نمایش آنها طی می کنیم به صورت اتوماتیک ایجاد می شود . در ادامه توضیح مختصری در مورد کامپوننتهای مطرح شده با هم مرور می کنیم .
    کامپوننت DataSet :
    مانند یک موتور اطلاعاتی کوچک عمل می کند با استفاده از DataSet ابتدا به بانک وصل می شویم اطلاعات مورد نیاز را در حافظه DataSet قرار می دهیم سپس ارتباط با بانک را قطع می کنیم از این پس هر تغییراتی که خواستیم می توانیم بر روی اطلاعات درون DataSet اعمال کنیم سپس در آخر تمام تغییرات را بر روی بانک اطلاعاتی اعمال کنیم .
    - با استفاده از این کامپوننت اطلاعات درون جداولی نگهداری می شوند و با استفاده از کامپوننت DataView به چندین روش پرس و جوهایی را روی داده ها انجام داد .

    کامپوننت DataGridView :
    این کنترل برای نمایش داده های موجود در یک بانک اطلاعاتی در فرم برنامه به کار می رود .برای کار با آن کافی است آن را به منبع داده های خود ، مثلا یکی از جدولهای موجود در بانک اطلاعاتی متصل کرده و سپس این کنترل را تنظیم کنیم تا دادهای جدول مورد نظر همانند یک جدول نمایش دهد (ستونهای این جدول نام فیلدها و ردیفهای آن اطلاعات مربوط به فیلدها که هر کدام در یک رکورد نگهداری می شوند ) .
    - علاوه بر این به وسیله این کنترل می توانید عنوان ستونهای داده ها و یا نوع نمایش آنها را نیز بدلخواه تعیین کنیم
    کامپوننت BindingSource :
    این کنترل همانند پلی برای ایجاد ارتباط بین داده های موجود در منبع داده ای شما (مانند DataSet ) و کنترل هایی که برای نمایش داده ها مورد استفاده قرار می گیرند(مانند TextBox ) به کار می رود .
    بنابراین هنگامی که بخواهید به وسیله ی کنترل هایی و یا به هر دلیل دیگری بخواهید به آنها د منبع اطلاعاتی دسترسی داشته باشید ، این ارتباط باید از طریق این کامپوننت صورت بگیرد .
    کامپوننت BindingNavigator :
    این کنترل یک رابط گرافیکی استاندارد برای حرکت بین رکوردهای موجود در یک بانک اطلاعاتی ایجاد می کند .
    همچنین مانند کنترل DataGridView می تواند به کنترل BindingSource متصل شده و از طریق آن به داده های موجود در برنامه دسترسی داشته باشد .
    کامپوننت TableAdapter :
    این کامپوننت در جعبه ابزار وجود ندارد بلکه با توجه به روشی که کامپوننت های داده ای دیگر را در برنامه قرار داده و آنها را تنظیم می کنید و به صورت اتوماتیک ایجاد می شود
    - این کامپوننت حاوی پرس و جوهایی برای انتخاب داده های موجود در بانک اطلاعاتی و نیز اطلاعاتی در مورد نحوه اتصال برنامه به بانک است .
    - همچنین حاوی متدهایی است که به وسیله آنها می توان داده ها را از جداول بانک اطلاعاتی بدست آورد و در کامپوننت هایی مانند DataSet قرار داد و سپس در برنامه از آن داده ها استفاده کرد .
    - این کامپوننت این قابلیت را دارد که بر اساس دستور Select ای که برای انتخاب داده ها از بانک اطلاعاتی برای آن وارد می کنید دستورات Insert ، Update و نیز Delete مناسب برای تغییر داده های انتخاب شده در بانک اطلاعاتی ایجاد کند .

    * اتصال داده ها :
    اتصال داده یعنی اینکه داده های را که به وسیله ی کامپوننت BindingSource به آنها دسترسی دارید را به یک کنترل خاص نسبت دهید (مثلا به یک DataGridView یا TextBox ، ... ) .
    به عبارت دیگر یک کنترل را بتوانید به نحوی تنظیم کنید که داده های مورد نیاز خود را به وسیله کامپوننت های دسترسی داده ها در برنامه دریافت کند و سپس آنها را به صورت اتوماتیک به کاربر نمایش دهد .
    - در C# بعضی از کنترل ها وجود دارند که مخصوص این کار طراحی شده اند مانند کنترل DataGridView و یا TextBox .
    ------------------------------------------------------------------------------------
    *** و در آخر نکته ای را از استادم عرض میکنم :
    وقتی به حدی از تجربه و کارایی میرسی ، تعداد شرکت هایی که به اندازه تجربه شما و یا بیشتر باشن از تعداد انگشتان دست هم کمتر میشن.چون توی بیشتر شرکت های ایرانی 90% کار فقط
    Insert ، update و Delete
    هست.شما با چیزی درگیر نمیشید که لازم باشه بیشتر از این حد رو بلد باشید.

  17. #17
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    وقتی هم فقط insert و delete و update بلد باشی تازه میفهمی 900 نفر قبل از تو جلو شرکت های ایرانی صف کشیدن و چیزایی که تو بلدی رو همه بلدن!!!

    برنامه نویسی موفق میشه که 1 قدم از بقیه جلوتر باشه!

    اینم از LinQ . . .
    فایل های ضمیمه فایل های ضمیمه

  18. #18
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    آفرین بچه ها
    جفته pdf ها خوب توضیح داده شده بود ، مخصوصا LINQ
    .
    .
    دوستان بهترین روش ارتباط چیه؟

  19. #19
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: سریعترین ارتباط ممکن با دیتابیس در سی شارپ

    با تشکر ، من در اینباره تحقیق میکنم و اگز به نتایج مثبت دیگری دست یافتم
    یک اساس کشی کدی انجام میدم...

  20. #20
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    سوالتون ربطی به این تاپیک نداره تو خیلی از تاپیک ها بحث شده و با قوانین سایت تناقض داره الان از مدیرای سایت ببینن پست هارو حذف میکنن!
    ولی فایل زیر رو دانلود کن خیلی به دردت میخوره 4shared آپ کردم که کسی مشکل فیلتر نداشته باشه!!


    دانلود

  21. #21
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    www
    پست
    199

    Question معرفی تکنولوژی های برقراری ارتباط با بانک

    سلام بر همگی
    اصل مطلب:
    1- این EF چیست و آیا جزئی از ADO.NET هست یا نه؟
    2- WCF چطور؟؟
    3- آیا روش های برقراری ارتباط با بانک در هر کدوم از موارد (EF - WCF - ADO.NET) یکسان هست یا نه؟؟
    4- به جز موارد ذکر شده آیا می توان از طرق دیگر به بانک دسترسی داشت یا نه؟؟
    5- کدام مورد را پیشنهاد میکنید (خودم ADO.NET رو میپسندم ولی جایی خوندم که EF سرعت و کنترلش بهتره آیا صحت داره؟؟)
    6-نحوه کوچ از ADO.NET به موارد فوق ذکر (یا مواردی که شما پیشنهاد میکیند) را هم بیان کنید

    با تشکر

  22. #22

    نقل قول: معرفی تکنولوژی های برقراری ارتباط با بانک

    سلام دوست عزیز، سوال های شما بسیار تکراریه و پاسخ سوال ها طولانی وفکر نکنم دوستان حوصله جواب دادن داشته باشن ، خواهشا قبل از ایجاد تاپیک جستجو کنید.

  23. #23

    نقل قول: دستورات استاندارد اتصال #C به SQL Server

    مهندس رانا ببخشيد ميشه در مورد اين كدتون بيشتر توضيح بفرماييد -مثلا اسم سرور -نام ديتاسورس -يا اينكه اگر نرم افزار روي سيستم ديگه نصب بشه ايا خودش بصورت اتومات رشته اتصال را ميسازه؟ ممنون ميشم بابت توضيحاتتون.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public static SqlConnection ConnectToFix()
    {

    string ConnectioString = "Data Source="+ System.Net.Dns.GetHostName()+";Initial Catalog=Fix;Integrated Security=True; Min Pool Size = 20";
    SqlConnection connection = new SqlConnection(ConnectioString );

    try
    {
    connection.Open();
    }
    catch (SqlException)
    {
    connection.Close();
    }
    return connection;


    }





    موقع استفاده هم هر جايي كه بخوام اينطوري فراخواني ميكنم:
    1
    2
    SqlConnection connection = Connection.ConnectToFix();

  24. #24

    Question کدام روش برای ارتباط با پایگاه داده بهتره؟

    سلام
    برای ارتباط با دیتابیس چه روشی بهتر هست.منظورم از نظر سرعت،راحتی و به روز بودن اون روش هست.
    تا جایی که من فهمیدم سه روش برای این کار وجود داره:
    1-ADO.NET
    2-Linq
    3-Entity Framework
    با دستورات ado و linq یکم آشنا هستم و میخام یکیشو بطور جدی ادامه بدم ولی موندم چیکار کنم.چند جا دیدم که نوشته بود ado منسوخ شده باز یه جا تو همین تالار دیدم که نوشته بود linq منسوخ شده.لطفا راهنمایی کنید
    ممنون

  25. #25

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    سلام
    linq رو مسلط شو و در ادامه entity کار کن
    تا به روز باشی
    بحث منسوخی نیست، مهم اینه برنامه با پایگاهت بی خطا کار ارائه بده

  26. #26

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    یه سرچ بزنی میفهمین ...
    لطفا قبل از زدن پست سرچ کنین

  27. #27

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    سلام

    دوست عزیز خودت باید کار کنی و تجربه کنی.

  28. #28
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    نقل قول نوشته شده توسط abolfazl_d_sh مشاهده تاپیک
    سلام
    برای ارتباط با دیتابیس چه روشی بهتر هست.منظورم از نظر سرعت،راحتی و به روز بودن اون روش هست.
    تا جایی که من فهمیدم سه روش برای این کار وجود داره:
    1-ADO.NET
    2-Linq
    3-Entity Framework
    با دستورات ado و linq یکم آشنا هستم و میخام یکیشو بطور جدی ادامه بدم ولی موندم چیکار کنم.چند جا دیدم که نوشته بود ado منسوخ شده باز یه جا تو همین تالار دیدم که نوشته بود linq منسوخ شده.لطفا راهنمایی کنید
    ممنون
    linq این وسط چی کاره بود؟! چطوری با linq می خواهی اینکار را بکنی بگو شاید ما هم یک چیزی یاد گرفتیم! نگی منظورم linq to sql بوده ها!
    کلا ado.net پایه هست. و EF یک orm هست که از ado.net استفاده می کنه. EF را یاد بگیرید در ۹۹٪ مواقع همانچیزی هست که شما می خواهید.

  29. #29

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    نقل قول نوشته شده توسط linux مشاهده تاپیک
    linq این وسط چی کاره بود؟! چطوری با linq می خواهی اینکار را بکنی بگو شاید ما هم یک چیزی یاد گرفتیم! نگی منظورم linq to sql بوده ها!
    کلا ado.net پایه هست. و EF یک orm هست که از ado.net استفاده می کنه. EF را یاد بگیرید در ۹۹٪ مواقع همانچیزی هست که شما می خواهید.
    linux گرامی یعنی نمیشه با linq با پایگاه داده ارتباط برقرار کرد؟
    دقیقا منطورم linq to sql بود.

  30. #30
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    نقل قول نوشته شده توسط abolfazl_d_sh مشاهده تاپیک
    linux گرامی یعنی نمیشه با linq با پایگاه داده ارتباط برقرار کرد؟
    دقیقا منطورم linq to sql بود.
    linq در حالت کلی یک زبان پرس و جو از مجموعه‌هایی هست که اشیا را داخل خودشان ذخیره می کنند مانند List ,dictionary ,... چیزی که می شه به دیتابیس وصل شد همون linq to sql هست که دیگه میشه گفت منسوخ شده.

  31. #31

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    نقل قول نوشته شده توسط linux مشاهده تاپیک
    linq در حالت کلی یک زبان پرس و جو از مجموعه‌هایی هست که اشیا را داخل خودشان ذخیره می کنند مانند List ,dictionary ,... چیزی که می شه به دیتابیس وصل شد همون linq to sql هست که دیگه میشه گفت منسوخ شده.
    ممنون از راهنمایی
    ولی من گیج شدم.....یه جا از linq تعریف میشه یه جا میگن منسوخ شده....
    موندم کدوم راهو انتخاب کنم؟

  32. #32
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: کدام روش برای ارتباط با پایگاه داده بهتره؟

    نقل قول نوشته شده توسط abolfazl_d_sh مشاهده تاپیک
    ممنون از راهنمایی
    ولی من گیج شدم.....یه جا از linq تعریف میشه یه جا میگن منسوخ شده....
    موندم کدوم راهو انتخاب کنم؟
    linq to sql توسعه داده نمی شود یعنی ویژگیهایی جدیدی ارایه نمی گردد همین طوری که تا دات نت ۳.۵ توسعه داده شده می ماند. به جاش تمرکز بر روی EF هست.

  33. #33
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: معرفی تکنولوژی های برقراری ارتباط با بانک

    نقل قول نوشته شده توسط sasan_22 مشاهده تاپیک
    سلام بر همگی
    اصل مطلب:
    1- این EF چیست و آیا جزئی از ADO.NET هست یا نه؟
    2- WCF چطور؟؟
    3- آیا روش های برقراری ارتباط با بانک در هر کدوم از موارد (EF - WCF - ADO.NET) یکسان هست یا نه؟؟
    4- به جز موارد ذکر شده آیا می توان از طرق دیگر به بانک دسترسی داشت یا نه؟؟
    5- کدام مورد را پیشنهاد میکنید (خودم ADO.NET رو میپسندم ولی جایی خوندم که EF سرعت و کنترلش بهتره آیا صحت داره؟؟)
    6-نحوه کوچ از ADO.NET به موارد فوق ذکر (یا مواردی که شما پیشنهاد میکیند) را هم بیان کنید

    با تشکر
    ۱- EF یک orm هست بخشی از ado.net نیست یک لایه بالاتر از ado.net هست.
    ۲- wcf برای تولید وب سرویس هست مبتنی بر wsdl . ربطی به ارتباط با دیتابیس ندارد.
    ۳- wcf خارج از موضوع است و دوتای دیگه کمی با هم متفاوت هستند.
    ۴- بله از orm دیگر می تونید استفاده کنید مثل nhibernate, dapper ولی پایه اینها هم همون ado.net هست.
    ۵- از یک orm استفاده کنید قطعا سرعت تولید برنامه بالاتر هست.
    ۶- در اینترنت بگردید کلی مطلب هست
    ۳-

تاپیک های مشابه

  1. گفتگو: انواع ارتباط با دیتابیس
    نوشته شده توسط c_doost در بخش C#‎‎
    پاسخ: 7
    آخرین پست: سه شنبه 31 اردیبهشت 1392, 19:51 عصر
  2. سوال تخصصی در مورد ارتباط دو دیتابیس ؟
    نوشته شده توسط Zarghami_A در بخش C#‎‎
    پاسخ: 4
    آخرین پست: چهارشنبه 23 آذر 1384, 10:59 صبح
  3. کمک در مورد ارتباط یک دیتابیس با سایت شخصی
    نوشته شده توسط babak869 در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: چهارشنبه 22 تیر 1384, 16:50 عصر
  4. مقایسه ASP.NET و PHP از نظر سرعت محاسباتی
    نوشته شده توسط ali_hadian در بخش PHP
    پاسخ: 4
    آخرین پست: پنج شنبه 04 فروردین 1384, 17:35 عصر

برچسب های این تاپیک

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

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