PDA

View Full Version : سوال: کمک برای رفع خطا



saleh82
یک شنبه 12 مهر 1388, 22:18 عصر
باسلام
این کد برای یه فرم ورودی کاربران با یه بانک اطلاعاتی اکسس نوشته شده حالا من اونو برای بانک اطلاعاتی sqlتغییر دادم ولی از قسمت شرط خطا میگیره کمکم کنید


Public

Class Form1

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim con AsNew SqlConnection("Data Source=MAX-41E0CDDAAA6;Initial Catalog=main;Integrated Security=True")
Dim cmd AsNew SqlCommand("select count(*) from user where name=? and password=?", con)
cmd.Parameters.AddWithValue("name", TextBox1.Text)
cmd.Parameters.AddWithValue("password", TextBox2.Text))
con.Open()
If cmd.ExecuteScalar = 1 Then
Form2.Show()
ElseIf cmd.ExecuteScalar = 0 Then
Label3.Text =




"اطلاعات نام کاربری یا رمز عبور اشتباه است"

EndIf

EndSub
EndClass

anooshiran
یک شنبه 12 مهر 1388, 23:10 عصر
سلام دوست عزيز

كدت را به شكل زير اصلاح كن





Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New SqlClient.SqlConnection("Data Source=MAX-41E0CDDAAA6;Initial Catalog=main;Integrated Security=True")
Dim cmd As New SqlClient.SqlCommand("select count(*) from user where name='" * TextBox1.Text * "' and password='" & TextBox2.Text & "'", con)
con.Open()
If cmd.ExecuteScalar = 1 Then
Form2.Show()
ElseIf cmd.ExecuteScalar = 0 Then
Label3.Text = "اطلاعات نام کاربری یا رمز عبور اشتباه است"
End If
End Sub

saadi2
یک شنبه 12 مهر 1388, 23:11 عصر
Dim con AsNew SqlConnection("Data Source=MAX-41E0CDDAAA6;Initial Catalog=main;Integrated Security=True")
Dim cmd AsNew SqlCommand("select count(*) from user where name=@name and password=@password", con)
cmd.Parameters.AddWithValue("@name", TextBox1.Text)
cmd.Parameters.AddWithValue("@password", TextBox2.Text))
cmd.connection=con
con.Open()
Dim i AsInteger = CType(cmd.ExecuteScalar, Integer)
If i <> 0 Then
Form2.Show()
ElseIf i = 0 Then
Label3.Text = "اطلاعات نام کاربری یا رمز عبور اشتباه است"
EndIf

saleh82
دوشنبه 13 مهر 1388, 09:39 صبح
ممنون از اینکه کمک کردید ولی مشکل حل نشد دقیقا همون خطا رو میگیره

anooshiran
دوشنبه 13 مهر 1388, 09:58 صبح
سلام دوست عزيز


لطفا فيلدهاي جدولت را برايم مشخص كن و همچنين نام جدول و نام ديتابيس

و در ضمن آيا دقيقا همين خطاي قبلي را مي گيري يا خطا عوض شده است؟

saleh82
دوشنبه 13 مهر 1388, 14:10 عصر
باسلام
یک بانک بانام main که دارای چند جدول است که یکی از آنها user برای نگهداری مشخصات کاربران در نظر گرفته شده که دارای دو فیلد با نام های name , password است.
ممکنه که اشکال از نوع فیلد ها ی تعریف شده در بانک باشد؟ فیلدی رو که میخوایم هم کاراکتر بگیره هم عدد از چه نوعی باید تعریف بشه؟
-بله دقیقا همون خطای قبلی رو میگیره که در تصویر آوردم.

!!!!!!!!کمکم کنید خیلی حیاتیه!!!!!!!!!

anooshiran
سه شنبه 14 مهر 1388, 16:57 عصر
سلام دوست عزيز

كد زير را جايگزين كد هايت كن

در ضمن توجه كن مشكل اصلي از نام table است كه user تعريف كردي چون يك كلمه رزرو شده است . آن را به MyUser تبديل كن.



Dim cmd As New SqlClient.SqlCommand("select count(*) from Myuser where name='" & TextBox1.Text & "' and password='" & TextBox2.Text & "'", con)
Con.Open()
If cmd.ExecuteScalar = 1 Then
Form2.Show()
ElseIf cmd.ExecuteScalar = 0 Then
MsgBox("اطلاعات نام کاربری یا رمز عبور اشتباه است")
End If