عمومی

روشهای انتقال متغیرها و داده ها از یک صفحه به صفحه دیگر با استفاده از Database

برای انتقال داده ها و متغیرها از یک صفحه به صفحه دیگر راه های متعددی وجود دارد که در این مقاله ما با استفاده از دیتابیس این کار را انجام میدهیم.

برای انجام این کار باید ابتدا یک جدول با نام usertable در دیتابیس با فیلد های Firstname , Lastname , age بسازیم. به همین جهت از دستور زیر برای ساخت یک دیتابیس در sql server استفاده می کنیم.برای کسب اطلاعات در حوزه Microsoft SQL Server چیست به شما پیشنهاد می شود مقاله اختصاصی ما را مطالعه نمایید.

create table usertable

(

UserId varchar(100),

FirstName varchar(50),

LastName varchar(30),

Age varchar(30)

)

توجه کنید که هیچ مقداری را با استفاده از Edit کردن جدول در فیلد های آن قرار ندهید.

اکنون مقادیر فیلد هارا با استفاده از دستورات زیر در جدول وارد میکنیم(به یاد داشته باشید که این مقادیر را از کنترلر های ورودی گرفته و مقادیر آنها را جایگزین میکنیم).

[irp posts=”۸۶۰۶″ name=”معرفی و کاربرد نرم افزار های بهینه سازی حجم پایگاه داده”]

نکته: در این مقاله ما به دلیل سادگی و جلوگیری از حجم زیاد مقاله نسبت به ایجاد Textbox و دیگر کنترلرها برای ورود اطلاعات نمیپردازیم.

insert into usertable values(5, ‘rohatash’,’Kumar’,’۲۳’)

go

insert into usertable values(3, ‘monu’,’rathor’,’۲۰’)

go

insert into usertable values(4, ‘rahul’,’sharma’,’۲۴’)

go

insert into usertable values(8, ‘ram’,’singh’,’۲۶’)

اکنون برای اطمینان از انجام صحیح کار با استفاده از دستور select مقادیر جدول usertable را بازیابی میکنیم که خروجی آن به صورت شکل زیر میباشد.

select * from usertable;

حالا باید ۲صفحه ی asp.net را برای انتقال اطلاعات با استفاده از دیتابیس  از یکی به دیگری ایجاد کنیم.

[irp posts=”۴۲۶۸″ name=”asp.net چیست و همه چیز درباره کاربرد آن”]

در visual studio.net یک پروژه asp.net جدید ایجاد میکنیم و در صفحه Default1.aspx کد زیر را وارد میکنیم:

<div>

<a href=”showdetail.aspx?userid=5″ title=”Show records where userId is 5″>Show records where userId is 5</a>

<p><asp:HyperLink ID=”hyper1″ runat=”server” Text=”Show Record where userID is 4″> </asp:HyperLink> </p>

</div>

سپس در default1.aspx.cs کد زیر را وارد میکنیم.

Protected Sub Page_Load(ByVal sender As Object, ByVal eAs System.EventArgs)Handles Me.Load

       If Not IsPostBack Then

            hyper1.NavigateUrl = “showdetail.aspx?userid=4&com=show”

       End If

   End Sub

حال یک صفحه ی دیگر با نام showdetail.aspx ایجاد میکنیم و کد زیر را در آن قرار میدهیم:

    <div>

    <asp:DetailsView ID=”DetailsView1″ runat=”server” EnableViewState=”False”

           Width=”۱۴۶px”>

       </asp:DetailsView>

   </div>

اکنون در code segment صفحه ی showdetail.aspx.cs در رویداد page_load قطعه کد زیر را به جهت بازیابی اطلاعات با استفاده از ado.net از دیتابیس ایجاد شده، وارد میکنیم.

Protected Sub Page_Load(ByVal sender As Object, ByVal eAs System.EventArgs)Handles Me.Load

       If Not IsPostBack Then

           If Not String.IsNullOrWhiteSpace(Request.QueryString(“userid”))Then

               Dim userId As Integer = 0

               Integer.TryParse(Request.QueryString(“userid”), userId)

               If Not userId.Equals(0) Then

                    GetData(userId)

               End If

           End If

           Dim command As String = Request.QueryString(“com”)

       End If

   End Sub

   Private Sub GetData(ByVal userIdAs Integer)

       Dim table As New DataTable()

       Dim conn As New SqlConnection(“Data Source=.;uid=sa;pwd=Password$2;database=master”)

       If True Then

           Dim sql As String = “SELECT userId, FirstName, LastName, Age FROM usertable WHERE userId = @userId ORDER By userId”

           Using cmd As New SqlCommand(sql, conn)

               Dim ad As New SqlDataAdapter(cmd)

               If True Then

                   Dim prm As New SqlParameter(“@userId”,SqlDbType.Int)

                    prm.Value = userId

                    cmd.Parameters.Add(prm)

                    ad.Fill(table)

               End If

           End Using

       End If

        DetailsView1.DataSource = table

        DetailsView1.DataBind()

   End Sub

اکنون برنامه را اجرا و تست میکنیم که باید با صفحه ای همانند شکل زیر مواجه شوید.

اکنون بر روی لینک موجود در صفحه default.aspx کلیک کنید تا به صفحه showdetail.aspx با اطلاعات درخواست شده و موجود در دیتابیس هدایت شوید.

اشکان نصیری

مدیر سرور در ایران هاست با +۵ سال سابقه در صنعت میزبانی وب و کارشناسی ارشد MBA

دیدگاهتان را بنویسید

نوشته های مشابه

دکمه بازگشت به بالا