دوستان لطفا اگه كسي ميدونه كمكم كنه

hatam64

Member
سلام
من پروژمو كامل كردم فقط واسه خوندن از ديتابيس روي ركورده آخرم ميمونه نميدونم چيكارش كنم
از Do While هم استفاده كردم واسه خوندنه Data Read اما بازم فايده نداشت
لطفاٌ كمك كنيد
مرسي دوستاي گلم:rose:
 

hatam64

Member
سلام ممنون از اينكه جواب داديد
من اون مشكلو حل كردم اما حالا واسه لاگين با مشكل مواجه شدم
اين كدا رو به كار ميبرم اما نميدونم چرا جواب نميده
Imports System
Imports System.Data
Imports System.Data.Common
Imports System.Data.SqlClient
Partial Class order_status
Inherits System.Web.UI.Page

Protected Sub login_b_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles login_b.Click
Dim flg As Integer
flg = 1
Dim cnn As New SqlConnection
Dim cmd As New SqlCommand
Dim reader As SqlDataReader
Dim username_box As String
Dim password_box As String
username_box = username_txt.Text
password_box = password_txt.Text
cnn.ConnectionString = "Data Source=sunboy\SQLEXPRESS;Initial Catalog=amlak;Integrated Security=True"
cmd.CommandText = "select * from sefaresh "
cnn.Open()
cmd.Connection = cnn
reader = cmd.ExecuteReader
reader.Read()
Do While reader.Read
If reader("username").ToString = username_box And reader("password").ToString = password_box Then
flg = 2
End If
Loop
If flg = 2 Then
Response.Redirect("search.aspx")
Else
Wrong_L.Visible = True
End If

cnn.Close()
End Sub
End Class
مرسي از لطفتون
ممنون ميشم كمكم كنيد

 

jefri600

New Member
با سلام
مشکل شما با تغیر دستور SQLتون حل می شه :
کد:
select * from yourTB where [[EMAIL="=@userName and"]userFildName]=@userName and [/EMAIL][PasswordFildName]=@Password
خوب حالا باید پارامترهارو مقداردهی کنید:
کد:
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]cmd.Parameters.AddWithValue([/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"[U][COLOR=#0066cc]@userName[/COLOR][/U]"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2], مقدار)[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]cmd.Parameters.AddWithValue([FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"[U][COLOR=#0066cc]@Password[/COLOR][/U]"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2], مقدار)[/SIZE][/FONT][/SIZE][/FONT]
[/SIZE][/FONT][/SIZE][/FONT]
به جای مقدار تکس باکس هاتون رو بگذارید
دیگه نیاز به شرطIF نیست
درضمن نیازی نیست که شما از Do While استفاده کنید همان While خالی کافی هست

مشکل اصلی شما در این بود که حلقه وایلتون تمام جدول رو در اختیار داشت ولی با این روش دقیقا همانی به حلقه وارد می شود که در دستورSQL تون خاسته شده
باز هم میگم دیگه نیاز به شرطIF نیست
امتحان کنید اگر مشکل حل نشد خطایی که می گیره رو هم بگذارید تا بیشتر بررسیش کنم
موفق باشید
 

جدیدترین ارسال ها

بالا