|
||
|
|||||||
![]() |
|
|
LinkBack | ابزارهای تاپيك | نحوه نمایش |
|
|
#1 (permalink) |
|
مدير کل انجمن و سایت
![]() Admin
|
.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 را شرح بدهم. برای این کار یک مثال عملی را دنبال می کنیم. کلاس های زیر برای کار با پایگاه داده مورد نیاز است :
<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="" /> <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>
__________________
فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد] فقط کاربراني که ثبت شده اند و فعال شده اند مي توانند لينکها را ببينند[براي ثبت نام اينجا را کليک کنيد]
|
|
|
|