急求!在数据库中存有数据,为什么登陆不了呢,登陆之后总是显示登录失败

lanjinglin12 2014-07-25 04:55:20
Imports System.Data
Imports System.Data.SqlClient
Partial Class Default2
Inherits System.Web.UI.Page

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

End Sub

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

Dim cn As New SqlConnection("data source=(local);initial catalog=bookdata;integrated security=sspi;")
cn.Open()
Dim user As String
Dim pws As String
user = Trim(TextBox1.Text)
pws = Trim(TextBox2.Text)
Dim cm As New SqlCommand("select * from userinfo where user=@user and pws=@pws", cn)
cm.Parameters.Add("@user", SqlDbType.Char, 20)
cm.Parameters.Add("@pws", SqlDbType.Char, 10)
cm.Parameters("@user").Value = user
cm.Parameters("@pws").Value = pws
If cm.ExecuteScalar() <> Nothing Then
Session.Add("user", User)

cn.Close()
Response.Redirect("login.aspx")
Else
Response.Write("<script>alert('登录失败!')</script>")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End Sub


Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
End Class
...全文
686 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanjinglin12 2014-07-26
  • 打赏
  • 举报
回复


用vb.net语言创建的

登录代码:
Imports System.Data
Imports System.Data.SqlClient
Partial Class Default2
Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim userName As String = TextBox1.Text.Trim()
Dim userPassword As String = TextBox2.Text.Trim()
Dim sqlcon As String = System.Configuration.ConfigurationManager.ConnectionStrings("bookdataConnectionString").ToString()
Dim sqlcomtext As String = "select * from userinfo where user='" + userName + "'and pws='" + userPassword + "'"
Dim conn As SqlConnection = New SqlConnection(sqlcon)
Try
conn.Open()
Dim sqlcom As SqlCommand = New SqlCommand(sqlcomtext, conn)
If sqlcom.ExecuteScalar() <> Nothing Then
Session.Add("login_name", userName)
conn.Close()
Response.Redirect("liuyan.aspx")
Else
Response.Write("<script>alert('登录失败!')</script>")
End If
If conn.State = ConnectionState.Open Then
conn.Close()
End If
Catch ex As Exception
End Try
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
End Class
改成这样还不行,怎么回事啊???
天空丶蒋 2014-07-26
  • 打赏
  • 举报
回复
lanjinglin12 2014-07-26
  • 打赏
  • 举报
回复
都改了,就是不行啊
ayanamireizero 2014-07-26
  • 打赏
  • 举报
回复
引用 17 楼 lanjinglin12 的回复:
已经消去了空格了,可是还是登录失败啊!
cm.Parameters.Add("@user", SqlDbType.Char, 20) cm.Parameters.Add("@pws", SqlDbType.Char, 10) 这里改了吗... command不熟,换datareader试试
lanjinglin12 2014-07-26
  • 打赏
  • 举报
回复
已经消去了空格了,可是还是登录失败啊!
祥子爱游戏 2014-07-26
  • 打赏
  • 举报
回复
断点自己找。。。
ayanamireizero 2014-07-26
  • 打赏
  • 举报
回复


看到user和pws字段下的空格了吗..
insus 2014-07-26
  • 打赏
  • 举报
回复
尝试改一下数据类型。 把数据库字段的数据类型改为nvarchar。 在程序中的, SqlDbType.Char 也改为 SqlDbType.NVarChar 就行了。 还有一点要注意的地方Convert.ToInt32(cmd.ExecuteScalar()) 方法,返null经转换之后,也是0
lanjinglin12 2014-07-26
  • 打赏
  • 举报
回复
我的数据库是在vs里面创建的,是不是数据库连接有错误啊!真的好奇怪,怎么会一直出现登录失败呢?有谁能告诉我啊!!!
ayanamireizero 2014-07-26
  • 打赏
  • 举报
回复
不是上个贴说了是char(10)还有char(30)的问题吗.....会自动填充空格满10个字符及30个字符... 换char(10)为nvarchar(10)后,把数据里的空格给清掉
万玩完顽完 2014-07-26
  • 打赏
  • 举报
回复
额 initial catalog=bookdata
lanjinglin12 2014-07-26
  • 打赏
  • 举报
回复
还是不行啊!那个方括号是它自动形成的,去不掉
save4me 2014-07-26
  • 打赏
  • 举报
回复
你User表里面的User字段为什么加方括号,去掉用下面的代码在运行一下,看看结果

Imports System.Data
Imports System.Data.SqlClient
Partial Class Default2
    Inherits System.Web.UI.Page

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

    End Sub

	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
		Dim connString = "data source=(local);initial catalog=bookdata;integrated security=sspi;"
		Dim sql As String = "SELECT COUNT(*) FROM userinfo WHERE user=@user AND pws=@pws"
		Dim user As String = Trim(TextBox1.Text)
		Dim pws As String = Trim(TextBox2.Text)
		Dim ret As Integer = 0
		
	    Using conn As New SqlConnection(connString)
	        Dim cmd As New SqlCommand(sql, conn)
	        cmd.Parameters.Add("@user", SqlDbType.Char, 20)
	        cmd.Parameters.Add("@pws", SqlDbType.Char, 10)
	        cmd.Parameters("@user").Value = user
	        cmd.Parameters("@pws").Value = pws
	        Try
	        	conn.Open()
	        	ret = Convert.ToInt32(cmd.ExecuteScalar())
	        Catch ex As Exception
	            'Console.WriteLine(ex.Message)
	        End Try
	    End Using
	    
	    If ret > 0 Then
	    	Session.Add("user", User)
	    	Response.Redirect("login.aspx")
	    Else
	        Response.Write("<script>alert('登录失败!')</script>")
	        TextBox1.Text = ""
	        TextBox2.Text = ""
	        TextBox1.Focus()
	    End If
	
	End Sub


    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Text = ""
        TextBox2.Text = ""
    End Sub
End Class
lanjinglin12 2014-07-25
  • 打赏
  • 举报
回复

user表是这个
lanjinglin12 2014-07-25
  • 打赏
  • 举报
回复



这是我的登录界面和user表,填完点登陆按钮后,都是出现下来的那个框登录失败,到底是怎么回事啊???
lanjinglin12 2014-07-25
  • 打赏
  • 举报
回复
是用vb语言编写的,在登录页面填写完信息后,按登录按钮跳转不了主页,总是出现“登录失败”提示,可是在数据库中已经有登录名的存储信息啦
getti66 2014-07-25
  • 打赏
  • 举报
回复
逻辑没问题,就看是不是拼写错误了。
程序员-阿勇 2014-07-25
  • 打赏
  • 举报
回复
你的登陆是指登陆数据库登陆不了 还是执行程序反映登陆不了? 如果是数据库登录不了看看sql的配置工具 如果是sql执行查询结果登陆不了 断点到sql语句 复制到数据库执行看有没有错 或者打开数据库监听 看看执行了什么sql 看有没有结果
    Dim cm As New SqlCommand("select * from userinfo where user=@user and pws=@pws", cn)
        cm.Parameters.Add("@user", SqlDbType.Char, 20)
        cm.Parameters.Add("@pws", SqlDbType.Char, 10)
        cm.Parameters("@user").Value = user
        cm.Parameters("@pws").Value = pws
        If cm.ExecuteScalar() <> Nothing Then
            Session.Add("user", User)
你这样写参数进去了吗? 我没试过这样写 感觉你的@user和@pws参数没用,可能是我没这么用过吧
程序员-阿勇 2014-07-25
  • 打赏
  • 举报
回复
断点到open报错没?
M依然 2014-07-25
  • 打赏
  • 举报
回复
data source=(local);initial catalog=bookdata;integrated security=sspi; 数据库语句对不对哦
加载更多回复(1)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧