怎样做一个用户登录页面(与SQL Server 2000连接)特急!!!(一定给分)

mty2002 2002-05-18 10:02:22
怎样把TextBox中的内容与数据库中的内容相比较!是不是利用DataReader来做。麻烦哪位仁兄帮忙解决以下,多谢了!!!
...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
virtualmfc 2002-05-25
  • 打赏
  • 举报
回复
这种字符串的连接是ASP时代留下的习惯,强烈建议使用参数来代替。
-------------------改为---------------------
SqlCommand nwCmd=new SqlCommand("select 用户名,用户密码 from 用户表 where 用户名=@UsrName and 用户密码=@Pwd",nwConn);
nwCmd.Parameters.Add("@UsrName",SqlDbType.NvarChar,50);
nwCmd.Parameters.Add("@Pwd",SqlDbType.NVarChar,16);
nwCmd.Parameters["@UsrName"].Value = name;
nwCmd.Parameters["@Pwd"].Value = pwd;
SqlDataReader nwReader=nwCmd.ExecuteReader();
while(nwReader.Read()) { if(nwReader.FieldCount==2) ok=1;}
一切OK!主要是参数传递'"+name+"'
mty2002 2002-05-23
  • 打赏
  • 举报
回复
问题已解决,谢谢大家!!解决方法如下:
SqlCommand nwCmd=new SqlCommand("select 用户名,用户密码 from 用户表 where 用户名='"+name+"' and 用户密码='"+pwd+"'",nwConn);
SqlDataReader nwReader=nwCmd.ExecuteReader();
while(nwReader.Read()) { if(nwReader.FieldCount==2) ok=1;}
一切OK!主要是参数传递'"+name+"'
mty2002 2002-05-23
  • 打赏
  • 举报
回复
谢谢大家对这个问题的回答,问题已经解决,方法如下:
SqlCommand nwCmd=new SqlCommand("select 用户名,用户密码 from 用户表 where 用户名='"+name+"' and 用户密码='"+pwd+"'",nwConn);
SqlDataReader nwReader=nwCmd.ExecuteReader();
while(nwReader.Read()) { if(nwReader.FieldCount==2) ok=1;}
主要是参数的传递问题'"+name+"'问题搞定,谢谢大家了!!!
mty2002 2002-05-22
  • 打赏
  • 举报
回复
非常感谢大家对这个问题的回答,但我用的是C#语言,对VB不懂,请哪位大哥能否用C#语言解决以下,谢谢了!!!
lk1023 2002-05-21
  • 打赏
  • 举报
回复
这是我写的一段程序,应该能解决你的问题,不是最好的方法,但是可以借鉴一下,里面还有一段是通过webservice验证用户的,不过注释掉了:)

Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
'###############################################利用web service实现用户验证############################
'Dim ws As New zyWindowsApplication.localhost.Service1()
'Dim PassFormate As String
'PassFormate = EncryptPassword(txtPass.Text, "md5") '//////////或者是EncryptPassword(uid.Text, "sha1")

'If ws.Userlogin(txtUser.Text, PassFormate) = True Then
''Dim fmain As New frmMain()
''fmain.Show()
''Me.Hide()
'Me.DialogResult = DialogResult.Yes
'Else

' MessageBox.Show("用户明或口令错误,请重新输入!")
'End If
'#######################################################################################################
dbda_user.SelectCommand.Connection = conn
conn.Open()
dbda_user.SelectCommand.CommandText = "select * from myuser where userName='" + txtUser.Text + "' and userpassword='" + txtPass.Text + "'"
'' dbda_user.SelectCommand.CommandText = "select * from myuser where userName=? and userpassword=?"
''dbda_user.SelectCommand.Parameters("username").Value = txtUser.Text
''dbda_user.SelectCommand.Parameters("userpassword").Value = txtPass.Text
dbda_user.SelectCommand.ExecuteNonQuery()
Dim users As New ds_user()
dbda_user.Fill(users)
If users.myuser.Count >= 1 Then
myUserQX = users.Tables("myuser").Rows(0).Item("usertype")
'MessageBox.Show(myUserQX)
Me.DialogResult = DialogResult.Yes
conn.Close()
myUserName = txtUser.Text

lklog = New Bigeagle.Util.Log(Application.StartupPath + "\event.log")
lklog.Write("用户" + myUserName + "成功登录!")
Else
conn.Close()
txtUser.Text = ""
txtPass.Text = ""
txtUser.Focus()
MessageBox.Show("用户名或口令错误,请重新输入!")
lklog = New Bigeagle.Util.Log(Application.StartupPath + "\event.log")
lklog.Write("用户" + txtUser.Text + "登录失败!")
End If

End Sub
z9945 2002-05-19
  • 打赏
  • 举报
回复
fieldbyname
netcar 2002-05-19
  • 打赏
  • 举报
回复
利用DataReader校验用户名和密码就可以了

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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