كارت dvb , كارت دي وي بي , دی وی بی , رسيور , رسیور

فروشگاه سايت

تبليغات

آخرين ارسالي‌هاي ASP.NET

کار با پایگاه داده در Asp.net - قسمت دوم

اين يك بخش از موضوع کار با پایگاه داده در Asp.net - قسمت دوم است كه در انجمن ASP.NET مطرح گرديده و اين انجمن نيز زير مجموعه‌ي طراحی صفحات داینامیک است: در بخش اول با روش برقراری اتصال با پایگاه داده در ASP.NET آشنا شدید. در این یادداشت با استفاده از یک جدول نمونه ، عملیات اضافه کردن رکورد به دیتابیس را بررسی می کنیم. برای این کار هر دو روش عادی و استفاده از Stored Procedure را پیاده سازی می ...

 

بازگشت   انجمن های آموزشی پارس > برنامه نویسی و طراحی وب ، سيستمهاي مديريت سایت > طراحی صفحات داینامیک > ASP.NET


اطلاعيه‌هاي سايت

 

لطفاً پيش از فعاليت در سايت، قوانين سايت را مطالعه نماييد

كليه‌ي كاربراني كه توانايي مديريت هر يك از بخش‌هاي سايت را دارند، با كليك روي اين لينك به مديريت سايت اطلاع دهند


پاسخ

 

LinkBack ابزارهای موضوع
قدیمی Thursday 31 May 2007, 09:56 AM   #1
عضو ممتاز
 
cactus آواتار ها
 

تاریخ عضویت: October 11th, 2006
محل سکونت: تهرون
نوشته ها: 455

سطح دانش: 19 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
سابقه در سایت: 0 / 469
قابليت: 151 / 3751
ميزان تجربه: 77%

Thanks: 21
Thanked 73 Times in 52 Posts
قدرت اعتبار: 3 cactus is on a distinguished road
Thumbs up کار با پایگاه داده در Asp.net - قسمت دوم

در بخش اول با روش برقراری اتصال با پایگاه داده در ASP.NET آشنا شدید. در این یادداشت با استفاده از یک جدول نمونه ، عملیات اضافه کردن رکورد به دیتابیس را بررسی می کنیم. برای این کار هر دو روش عادی و استفاده از Stored Procedure را پیاده سازی می کنیم. اگر مطالب این یادداشت را به دقت مطالعه و تمرین کنید قادر خواهید بود تا عملیات معمول بانک های اطلاعاتی ( اضافه ، ویرایش و حذف ) را در برنامه های وبی خود انجام دهید چرا که تنها تفاوت این کارها در دستور SQL آنهاست.

افزودن رکورد به بانک اطلاعاتی

روند کلی این است که ابتدا رشته اتصال و عبارت SQL که دستور اضافه کردن را مشخص می کند بنویسید. بعد یک شی دستور بگیرید و پارامترهای مربوطه را به آن شی اضافه کنید. سپس یک کانکشن ایجاد کنید و دستور خود را اجرا کنید و در نهایت کانکشن را ببندید. همین ! حالا اجازه بدهید که این چند سطر را با هم گام به گام انجام دهیم:

گام اول. ساختن دیتابیس و جدول

یک دیتابیس جدید به نام TestDb در SQL Server بسازید. حالا یک جدول به نام Members ایجاد کنید. کد سازنده این جدول را در زیر می بینید ( می توانید اسکریپت ساخت جدول را از اینجا دانلود کنید و پس از ساختن دیتابیس از طریق Query Analyzer آن را اجرا کنید تا جدول را برای شما بسازد )

CREATE TABLE [Members] (
[UserID] [smallint] NOT NULL ,
[Username] [varchar] (10) NOT NULL ,
[Password] [varchar] (20) NOT NULL ,
[Email] [varchar] (50) NOT NULL ,
CONSTRAINT [PK_Members] PRIMARY KEY CLUSTERED
(
[UserID]
) ON [PRIMARY]
) ON [PRIMARY]
Go

گام دوم. تعریف پروژه جدید در ویژوال استودیو

یک پروژه Web Application را در ویژوال استودیو ایجاد کنید. نکته ای که امروز می خواهم به آن اشاره کنم ذخیره کردن رشته اتصال در فایل web.config است. برای این کار کد زیر را به این فایل اضافه کنید ( این کد داخل بلاک نباشد )



به جای YOUR CONNECTION STRING رشته اتصال خود را قرار دهید ( در مورد رشته اتصال در یادداشت قبلی مفصل صحبت کردم )حالا می توانید در هر صفحه ای به کمک کد زیر رشته اتصال ذخیره شده را بازیابی کنید :

string ConnectionString=ConfigurationSettings.AppSettings["connectionstring"];



برای کسب اطلاعات بیشتر در مورد ذخیره کردن رشته اتصال در web.config این مقاله فارسی را بخوانید : ذخیره کردن Connection String در فایل Web.Config

توصیه امنیتی : هر زمان که رشته اتصال خود را به این شکل در web.config ذخیره می کنید بهتر است برای افزایش ایمنی آن را به صورت رمز شده ذخیره کنید. برای اطلاع از چگونگی رمز کردن اطلاعات مقاله فارسی زیر را مطالعه کنید : به رمز درآوردن اطلاعات

گام سوم. نوشتن کد صفحه

در این صفحه ما به سه عدد TextBox به نام های txtUsername و txtPassword و txtEmail نیاز داریم. یک دکمه هم برای ارسال فرم در نظر می گیرم به نام btnAdd . کد اضافه شدن اطلاعات فرم به بانک اطلاعاتی را در رویداد کلیک این دکمه می نویسیم. این کد را در زیر مشاهده می کنید :

private void btnAdd_Click(object sender, System.EventArgs e)
{
string connectionstring=ConfigurationSettings.AppSettings["connectionstring"];
string cText="Insert Into Members (Username,Password,Email ) Values (@Username,@Password,@Email)";
SqlConnection con=new SqlConnection (connectionstring);
SqlCommand cmd=new SqlCommand (cText,con);
cmd.Parameters.Add ("@Username",txtUsername.Text );
cmd.Parameters.Add ("@Password",txtPassword.Text );
cmd.Parameters.Add ("@Email",txtEmail.Text );
con.Open ();
cmd.ExecuteNonQuery ();
con.Close ();
}

فراموش نکنید که Namespace های مورد نیاز را به صفحه اضافه کنید. همان طور که می بینید دستور SQL را مستقیما در کد خود نوشتیم و از طریق پارامترها آن را تکمیل کردیم. دقت کنید که متد Add مربوط به پارامترهای یک شی دستور به چند شکل دیگر هم قابل استفاده است ( مثلا می توانید نوع فیلد جدول یا سایز آن را مشخص کنید ) و این ساده ترین شکل استفاده از این متد است.

نکته برنامه نویسی : ممکن است با این روش نتوانید اطلاعات را به فارسی در دیتابیس خود ذخیره کنید. خوشبختانه آقای نوعی پور یادداشت مفصلی در این مورد نوشته است که مشکل ورود اطلاعات فارسی و راه حل آن را به طور کامل بررسی می کند. این یادداشت را می توانید از اینجا بخوانید : پاسخ به یک پرسش متداول برنامه*نویسان مبتدی ASP.NET : فارسی در SQL Server

نکته امنیتی : در یک سیستم واقعی کلمه عبور را قبل از اضافه کردن به دیتابیس رمز کنید تا در صورتی که هکر به دیتابیس دسترسی پیدا کرد نتواند کلمات عبور کاربران سیستم را پیدا کند. مطمئن ترین روش Hash کردن کلمات عبور است. در این مورد به زودی مطلبی خواهم نوشت.

استفاده از Stored Procedure

همان طور که در ابتدای این یادداشت ها هم گفتم پیش فرض من این است که شما مفاهیم اصلی مربوط به کار با پایگاه داده و از جمله زبان SQL را می دانید. استفاده از روال های ذخیره شده کارآیی و سرعت سیستم را بالا می برد. وقتی یک روال ذخیره شده را در دیتابیس قرار می دهیم برای مراجعات بعدی دیگر پارسر و کامپایلر آن را بررسی نمی کنند و از نسخه کامپایل شده بهینه آن استفاده می کنند. به علاوه با کمک Transact-SQL می توانیم رویه های ذخیره شده پیشرفته ای را بنویسیم یا مثلا یک سری دستور را به صورت گروهی اجرا کنیم.

برای مثالی که در این یادداشت با آن روبرو بودیم Stored Procedure زیر که همان کار افزودن رکورد را انجام می دهد می نویسیم ( این روال را از طریق Query Analyzer در دیتابیس TestDb اجرا کنید تا به مجموعه روال های ذخیره شده این دیتابیس اضافه شود )

Create Procedure InsertProc
(
@Username varchar(10),
@Password varchar (20),
@Email varchar (50)
)
As
Insert Into Members (Username,Password,Email ) Values (@Username,@Password,@Email)

حالا برای این که عملیات را با استفاده از این روال ذخیره شده انجام دهیم شی دستور SQL را به صورت زیر بازنویسی می کنیم ( قسمت های Bold شده را نگاه کنید ) :

private void btnAdd_Click(object sender, System.EventArgs e)
{
.....
SqlCommand cmd=new SqlCommand ();
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.CommandText="InsertProc";
cmd.Parameters.Add ("@Username",txtUsername.Text );
....
}

در این روش دیگر نیازی به تعریف cText ( همان دستور SQL ) نداریم چرا که این دستور را در داخل رویه ذخیره شده خود نوشته ایم. همان طور که می بینید ابتدا Type دستور را مشخص کردیم و سپس نام رویه ذخیره شده خود را به ویژگی CommandText شی دستور نسبت دادیم.
__________________
Any Question About Web Programming Like HTML,DHTML,ASP,ASP.NET,SQLSERV ER,JAVASCRIPT
Dont waste time ! CACTUS is here


افلاطون مي گه: " اگه با دلت چيزي يا کسي رو دوست داري زياد جدي نگيرش، چون ارزشي نداره، چون کار دل دوست ‏داشتنه، مثل کار چشم که ديدنه، اما اگه يه روز با عقلت کسي رو دوست داشتي، اگه عقلت عاشق شد، بدون که داري ‏چيزي رو تجربه مي کني که اسمش عشق واقعيه هوسبازان وقتی زیبایی را می بینند،دوستشان دارند. ولی عاشقان وقتی كسی را دوست داشته باشند،زیبا می بینن
View cactus's Photo Album cactus آفلاين است   پاسخ با نقل قول
پاسخ

برچسب ها
aspnet

ابزارهای موضوع

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

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال


موضوعات مشابه

موضوع نویسنده موضوع انجمن پاسخ ها آخرين نوشته
کار با پایگاه داده در Asp.net - قسمت اول cactus ASP.NET 4 Saturday 26 May 2007 02:43 PM
مبانی یک برنامه Asp.net cactus ASP.NET 0 Saturday 19 May 2007 01:02 PM
معرفي برنامه Nmap Scaner king-cmpu آموزش ها و مفاهیم پایه 0 Wednesday 11 April 2007 10:56 PM
(هكر ها حتماً اين طومار را بخوانند ) ناظم ارشد فناوری اطلاعات (IT) 0 Thursday 22 February 2007 02:55 AM
Microsoft Word AKBAR H.Y نرم افزار 0 Saturday 3 June 2006 06:50 PM


اکنون ساعت 09:43 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


Powered by vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Skin developed by: ParsDVB


نقل مطالب سايت با ذکر منبع (http://drdvb.com) و نام نويسنده مجاز است. مسئوليت پستها بر عهده نويسنده آن است و سايت parsdvb به هيچ عنوان در قبال نوشته‌های ديگران مسئوليتی ندارد.
 

تمامي قوانين اين سايت از جمهوري اسلامي ايران پيروي مي کند و هرگونه مطالب مخالف قوانين ايران و بنر يا لينک مستهجن در اين سايت جايي ندارد

website monitoring service check web page

    

100
Search 2

parsdvb satdw skynet skynet جدید skystar3 tps.bin vplug vplug جدید vpnمجانی zeeaflam آموزش لب گرفتن استارست اموزش لب گرفتن انتخاب رشته مجازي ترانه ی مادری ثبت نام فيات ثبت نام فیات حسین استیری دانلود نرم افزار ویروس ساز دانلود ويروس ساز رضایا ساسي مانكن ساسی مانکن سریال ترانه ی مادری عکس دختر عکس لب عکس لب گرفتن فركانس شبكه هاي استاني فركانس ماهواره فرکانس فرکانس شبکه های استانی فرکانس ماهواره فرکانسهای ماهواره فيات فيات سينا فیات فیات سینا لب لب گرفتن مجله تپش منصور حیدری مولتی ویژن همسر خسرو شكيبايي همسر خسرو شکیبایی پخش افتتاحیه المپیک پخش المپیک پخش زنده ماهواره پوریا شکیبایی کانالهای پخش المپیک یاسر محمودی ... powered by Search 2
Google
جستجو در گوگل جستجو درانجمنهای آموزشی پارس