|
با سلام به دوستان . سری جدید اموزش های سایت هم راه اندازی شد . اولین اموزش را هم در رابطه با پایگاه داده Sql اغاز میکنیم ابتدا چگونگی ارتباط با پایگاه داده را بررسی میکنیم و سپس شروع به اجرا دستورات Sql میکنیم ابتدا یک پروژه جدید در C#.Net ایجاد کنید . سپس بر روی SoluTion Explorer کلیک راست کرده و گزینه Add New Item را انتخاب کرده و یک کلاس جدید به پروژه خود اضافه کنید . در سربرگ های این کلاس این Using را اضافه کنید using System.Data.SqlClient ; حالا شما میتوانید از دستورات SQl استفاده کنید ابتدا یک متغیر از نوع رشته بسازید و نام ان را SqlConString بنامید private string SqlConString = "Server=localhost;UID=sa;PWD=secret;Database=Test"; این متغیر رشته اتصالی به بانک را در خود نگه میدارد تابع جدیدی بسازید این تابع را SQlConectionTest بنامید. حالا ما یک ارتباط ساده با SQL را انجام میدهیم public Boolean SqlConectionTest() { Boolean Flag = false; try { SqlConnection Icon = new SqlConnection(SqlConString); Icon.Open(); Icon.Close(); Flag = true; } catch { Flag = false; } return Flag; } کافی است یک متغیر از این کلاس بسازید و تابع ساخته شده را فراخانی کنید . در صورت درست بودن این ارتباط مقدار TRue و در غیر این صورت False بر میگردد خوب تا این جا شما توانستید یک ارتباط ساده با پایگاه داده برقرار کنید . در ادامه یک عمل درج را در جدول TblTest که در SQL ساخته ام انجام میدهم تابع جدیدی بسازید و نام ان را SqlInsertTest بنامید . مانند نوشته زیر public Boolean SqlInsertTest(string NAme) { Boolean Flag = false; try { string ComandMe = "insert into TblTest (name)values(@name)"; SqlConnection Icon = new SqlConnection(SqlConString); SqlCommand Icomand = new SqlCommand( ComandMe,Icon); SqlParameter paraUsername = Icomand.Parameters.Add("@name", System.Data.SqlDbType.NVarChar); paraUsername.Value = NAme; Icon.Open(); Icomand.ExecuteNonQuery(); Icon.Close(); Flag = true; } catch { Flag = false; } return Flag; }
خوب برای اجرای دستور SQl باید از SqlCommand استفاده کنیم . دستور Insert را مینویسیم . اما تفاوت ای که در اینجا میبینید مربوط است به نحوه مقدار دهی به SqlCommand . چون میخواهیم داده ما از نوع Nvarchar باشد و نیز به این شکل در بانک ذخیره شود باید از این شکل استفاده کرد . روش های مختلف ای وجود دارد این روش بر اساس استاندارد مایکروسافت میباشد . رشته ComandMe شامل دستوری است که باید اجرا شود . به ادامه این رشته توجه کنید من متغیری را که میخواهم در جدول درج کنم را به شکل @Name نوشتم . در خط پایین نیز با ساخت یک پارامتر جدید و مشخص کردن نوع و مقدار این دستور را اجرا کردم . SqlParameter paraUsername همان طور که دیدید نوع ان Nvarchar میباشد که شما هر نوع ای میتوانید انتخاب کنید البته بر اساس ساختار همان فیلد در بانک . و در خط بعد از ان من مقدار ورودی تابع را به paraUsername دادم و دستور را اجرا کردم . دستورات دیگر را نیز این گونه تعریف کرده مقدار دهی نمایید و سپس ان را اجرا کنید . یکی از مشکلات ای که اکثر افراد در برنامه نویسی تحت وب با ان مواجه میشوند درج اطلاعات فارسی در بانک میباشد که با استفاده از این روش شما میتوانید عملیات درج و ویرایش و حذف و جستجو را با این روش انجام دهید . در پست های بعدی روش کار با stored procedures را توضیح میدهم . متن کامل کلاس برنامه به این شکل است using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; class SqlWork { private string SqlConString = "Server=localhost;UID=sa;PWD=secret;Database=Test"; public Boolean SqlConectionTest() { Boolean Flag = false; try { SqlConnection Icon = new SqlConnection(SqlConString); Icon.Open(); Icon.Close(); Flag = true; } catch { Flag = false; } return Flag; } public Boolean SqlInsertTest(string NAme) { Boolean Flag = false; try { string ComandMe = "insert into TblTest (name)values(@name)"; SqlConnection Icon = new SqlConnection(SqlConString); SqlCommand Icomand = new SqlCommand( ComandMe,Icon); SqlParameter paraUsername = Icomand.Parameters.Add("@name", System.Data.SqlDbType.NVarChar); paraUsername.Value = NAme; Icon.Open(); Icomand.ExecuteNonQuery(); Icon.Close(); Flag = true; } catch { Flag = false; } return Flag; }
}
تعداد بازديده : 336 | نوشته شده توسط مدیر سایت در 1388/05/15 و : 14:19
|