آخرين ارسالهاي انجمن

بازگشت   انجمن میهن دانلود > برنامه نويسي > برنامه نويسي ويژوال بيسيك > اموزش های برنامه نویسی

پاسخ
 
LinkBack ابزارهای تاپيك نحوه نمایش
قدیمی 08-20-2008, 12:25 PM   #1 (permalink)
مدير کل انجمن و سایت
Admin
 
rahimonline آواتار ها
 
تاریخ عضویت: Mar 2007
محل سکونت: BONAB
پست ها: 6,048

درجه: 55 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
سابقه: 2027 / 2027
سحر و جادو: 2016 / 6826
تجربه: 7%

تشکر: 833
881 بار در 765 پست از ایشان تشکر شده است
Activity Longevity
19/20 20/20
Today پست ها
sssss6048
rahimonline به AIM ارسال پیام rahimonline به Yahoo ارسال پیام فرستادن پیام با Skype به rahimonline
Smile نحوه اتصال به پایگاه داده و اجرای فرامین sql

.code { background-color : #ddddff; direction : ltr; font-family : courier new; font-size : 13px; padding : 8px 8px; margin : 8px 8px; text-align: left; } .title { font-weight: bold; font-family: Times New Roman; font-size: medium; text-align: right; }
نحوه اتصال به پایگاه داده و اجرای فرامین sql در دات نت (قسمت اول)

(asp.net(c#), sql server)


بسمه تعالی
در این مقاله می خواهم نحوه اتصال به پایگاه داده SQL SERVER و اجرای دستورات sql را شرح بدهم. برای این کار یک مثال عملی را دنبال می کنیم.
کلاس های زیر برای کار با پایگاه داده مورد نیاز است :
  • SqlConnection : از این کلاس برای اتصال به پایگاه داده استفاده می شود.
  • SqlCommand : از این کلاس برای اجرای دستورات sql مانند select, insert, update, delete و اجرای stored procedure ها استفاده می شود.
  • DataTable : با اجرای دستور select توسط SqlCommand، یک آرایه ای از سطر و ستون ها تولید می شود که برای ذخیره کردن آن، از این کلاس استفاده می شود.
  • SqlDataAdapter : برای خواندن اطلاعات از پایگاه داده و ذخیره آن در DataTable از این کلاس استفاده می شود. این کلاس کاربردهای دیگری نیز دارد.
ابتدا یک صفحه aspx مانند زیر بسازید <body>
<form id="form1" runat="server">
<div style="direction: rtl;">
<div>
<asp:Label runat="server" ID="lblMessage" />
</div>
<div>
<asp:GridView runat="server" ID="gvNames">
</asp:GridView>
</div>
<div>
<asp:TextBox runat="server" ID="txtName" Text="" />
&nbsp;&nbsp;&nbsp;
<asp:Button runat="server" ID="btnAdd" Text="افزودن" OnClick="btnAdd_Click" />
</div>
</div>
</form>
</body>



سپس یک database به نام SampleDb بسازید و در آن جدول Names را ایجاد کنید. این جدول دارای یک فیلد id از نوع int و Identity و یک فیلد به نام name و از نوع nvarchar(50) می باشد. برای ایجاد این جدول، کد زیر را در Management Studio یا Query Analyzer اجرا کنید. SET</SPAN> ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Names](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Names] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]



اتصال به پایگاه داده :
برای اتصال به پایگاه داده از کلاس SqlConnection استفاده می کنیم. این کلاس یک ویژگی مهم به نام ConnectionString دارد که مشخصات سرور، نام پایگاه داده، نام کاربری، کلمه عبور و خلاصه همه اطلاعات مورد نیاز برای وصل شدن به پایگاه داده باید در آن تعریف شود. برای کسب اطلاعات بیشتر در مورد این ویژگی به msdn و همچنین سایت فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] مراجعه نمایید.
private readonly string cs = "server=.;Initial Catalog=SampleDb;Integrated Security=SSPI;Persist Security Info=False;";
خواندن اطلاعات از پایگاه داده :
تابع RebindNames با استفاده از پروسیجر Names_GetAll همه رکورد های جدول Names را می خواند و نمایش می دهد :
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Names_GetAll]
AS
BEGIN


private void RebindNames()
{
using (SqlConnection cnx = new SqlConnection(cs))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("Names_GetAll", cnx))
{
using (DataTable dt = new DataTable())
{
adapter.Fill(dt);
gvNames.DataSource = dt;
gvNames.DataBind();
}
}
}
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RebindNames();
}
}

</SPAN></SPAN></SPAN>


افزودن رکورد به جدول
برای افزودن یک نام به جدول از پروسیجر Names_Add استفاده می کنیم.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Names_Add]
@Name nvarchar(50), @Id int OUTPUT
AS
BEGIN

INSERT INTO [Names] ([name]) VALUES (@Name);

SELECT @Id = SCOPE_IDENTITY();

END

protected void btnAdd_Click(object sender, EventArgs e)
{
using (SqlConnection cnx = new SqlConnection(cs))
{
using (SqlCommand cmd = new SqlCommand("Names_Add", cnx))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 50).Value = txtName.Text;
cmd.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output;
cnx.Open();
cmd.ExecuteNonQuery();
lblMessage.Text = string.Format("نام <b>{0}</b> افزوده شد، کد : {1}", txtName.Text, cmd.Parameters["@Id"].Value);
}
}
RebindNames();
}
</SPAN>
__________________
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]

فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]


rahimonline آنلاین نیست.   پاسخ با نقل قول
پاسخ

علاقه مندی ها (Bookmarks)

ابزارهای تاپيك
نحوه نمایش

شرايط ارسال
شما نمیتوانید تاپيك جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

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



Powered by vBulletin Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises  LC

http://forum.mihandownload.com/