برگزیده های پرشین تولز

میخوام یک مقدار رو با استفاده از ADO.NET از دیتابیس بخونم

amir_3d_mad

Registered User
تاریخ عضویت
4 ژوئن 2007
نوشته‌ها
98
لایک‌ها
0
من میخوام با استفاده از ADO.NET یک مقدار رو از دیتابیس بخونم و اونو در یک متغیر بریزم .
می دونم که باید از DataReader استفاده بکنم ، ولی بلد نیستم .
مثلا وقتی با دستور :
کد:
[LEFT]    Private Sub Filldatabase(ByVal MemberCode As Integer)
        Dim conn As New Data.OleDb.OleDbConnection("--")
        conn.Open()
        Dim ds As New Data.DataSet
        Dim strSql As String = ("Select MemberName , Counter , MemberCode From Members where MemberCode = " & MemberCode)
        Dim adapt As New Data.OleDb.OleDbDataAdapter(strSql, conn)
        adapt.Fill(ds, "Members")
        rptMembers.DataSource = ds
        rptMembers.DataBind()

    End Sub[/LEFT]
یک سطر از دیتابیس رو در rptMembers میریزیم ، به جا اون یک فیلد از همون سطر رو در یک متغیر مثلا MemberName بریزیم .
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
نمونه کد جهت انجام این کار :
کد:
Imports System.Data.SqlClient
Public Class Form1 Inherits System.Windows.Forms.Form
Dim myConnection As SqlConnection
Dim myCommand As SqlCommand
Dim dr As New SqlDataReader()
'declaring the objects

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_
Handles MyBase.Load
myConnection = New SqlConnection("server=localhost;uid=sa;pwd=;database=pubs")
'establishing connection. you need to provide password for sql server
Try
myConnection.Open()
'opening the connection
myCommand = New SqlCommand("Select * from discounts", myConnection)
'executing the command and assigning it to connection
dr = myCommand.ExecuteReader()
While dr.Read()
'reading from the datareader
MessageBox.Show("discounttype" & dr(0).ToString())
MessageBox.Show("stor_id" & dr(1).ToString())
MessageBox.Show("lowqty" & dr(2).ToString())
MessageBox.Show("highqty" & dr(3).ToString())
MessageBox.Show("discount" & dr(4).ToString())
'displaying the data from the table
End While
dr.Close()
myConnection.Close()
Catch e As Exception
End Try
End Sub

End Class
اطلاعات بیشتر را در این لینک مطالعه کنید.
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
در ضمن با توجه به اینکه آموزش نحوه استفاده از شی SqlDataReader از مفاهیم اولیه در برنامه نویسی دات نت بحساب می آید که از اولین نسخه دات نت هم بوده و الان هم هست منابع فارسی خیلی زیادی تو اینترنت از جمله سايت پرشیا دلوپر و همین سايت Srco.ir هست ، برای نمونه این جستجو در گوگل را نگاه کن ، کلی مطلب فارسی در مورد این مبجث پیدا میشه
 

amir_3d_mad

Registered User
تاریخ عضویت
4 ژوئن 2007
نوشته‌ها
98
لایک‌ها
0
من جواب های شما رو دیدم .
ممنون که وقت گذاشتید .
ولی نمیدونم چرا هر کاری میکنم ، نمیتونم کار مورد نظرمو انجام بدم !
من فقط میخوام بر اساس کوئری استرینگ ، یک فیلد از یک سطر دیتابیس رو بدست بیارم و بر اساس اون مقدار ، کاربر رو به صفحه دیگه انتقال بدم .
یعنی من دو نوع صفحه طلایی و نقره ای برای کاربران در نظر گرفتم .
حال من توی کوئری استرینگ فقط ID اون کاربر رو دارم و نمیدونم که کاربر من از نوع طلایی اه یا نقره ای !
واسه همین میخوام موقع لود شدن صفحه ، بلافاصله نوع اون کاربر رو از دیتابیس در بیارم و به صفحه خودش ریدایرکت کنم .
همین .
اگه بیشتر کمکم کنید ممنون میشم .
مرسی .
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
اوکی ، پس شما با چگونگی تشخیص کاربر مشکل دارید ، من با این فرض میرم جلو که شما یه جدولی دارید به اسم Users که در آن فهرست کاربران شما درج شده است ، در این جدول ستونی وجود دارد با نام UserType که جنس کاربر شما را مشخص می کند ، مثلا کاربر طلائی ، کاربر نقره ای و کاربر برنزی ، خوب کافیست که این Query را بعنوان SelectCommand تنظیم کنیم
کد:
"SELECT UserType FROM Users WHERE UserID="+Request.QueryString["ID"]
خوب حالا کافیست که با استفاده از شی SqlConnection وصل بشوید به پایگاه داده ، با استفاده از SqlCommand دستور فوق الذکر را اجرا نمائید و با استفاده از شی SqlDataReader اطلاعات خروجی را بخوانید ، سپس با یک SWITCH ساده در سی شارپ می توانید شرط بزارید که مثلا اگر 1 بود (کاربر طلائی) به صفحه GoldUser.aspx هدایت شود ، اگر 2 بود (کاربر نقراه ای) به SilverUser.aspx هدایت شود به همین ترتیب
 

amir_3d_mad

Registered User
تاریخ عضویت
4 ژوئن 2007
نوشته‌ها
98
لایک‌ها
0
ok ممنون . حل شد .
مرسی از راهنماییتون .
 
بالا