标题:[求助]从数据库中取数的问题
只看楼主
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
结帖率:40%
 问题点数:0 回复次数:2 
[求助]从数据库中取数的问题
我正在编写自己的一个个人档案管理软件,其中有一个更改密码的界面,在更改密码之前需要将自己原来的密码与数据库中的密码进行验证,我的代码如下
'判断原密码与数据库中的密码是否一致,否者退出
If mycon.State = ConnectionState.Closed Then /*mycon为sqlconnection对象的一个实例*/
mycon.Open() /*将连接打开
End If
Dim sqlstr As String = "select Password From Passwd where Name=@name1" /*Passwd为操作员的信息表,包括
操作员的name字段,password字段,还有权限字段*/

Dim name1 As New SqlParameter("@name1", SqlDbType.Char, 10)
name1.Value = oname /*oname为模块中定义的全局变量,表示操作员的名字*/
mycom = New SqlCommand(sqlstr, mycon)
mycom.Parameters.Add(name1)
Dim myreader As SqlDataReader
myreader = mycom.ExecuteReader
If Not TextBox1.Text = myreader(0)("Password") Then
MsgBox("你输入的初始密码错误")
Exit Sub
End If
'判断新密码与确认密码是否一致,否者退出
结果为:报错:说myreader中没有任何可读数据,请问,问题出在哪里啊,找了大半天
搜索更多相关主题的帖子: 数据库 密码 mycon 软件 
2006-11-21 13:41
梓风
Rank: 2
等 级:新手上路
威 望:4
帖 子:181
专家分:0
注 册:2006-10-22
得分:0 
应该是这样的
If mycon.State = ConnectionState.Closed Then '/*mycon为sqlconnection对象的一个实例*/
mycon.Open() '/*将连接打开
End If
Dim sqlstr As String = "select [Password] From [Passwd] where [Name]=@name1" '/*Passwd为操作员的信息表,包括操作员的name字段,password字段,还有权限字段*/

Dim name1 As New SqlParameter("@name1", SqlDbType.Char, 10)
name1.Value = "zifeng" '/*oname为模块中定义的全局变量,表示操作员的名字*/
Dim mycom As New SqlCommand(sqlstr, mycon)
mycom.Parameters.Add(name1)
Dim myReader As SqlDataReader
myReader = mycom.ExecuteReader
While myReader.Read()
If Not TextBox2.Text = myReader.GetString(0).ToString Then '(0)("Password").ToString Then
MsgBox("你输入的初始密码错误")
Exit Sub
End If
End While

******While myReader.Read()****

等待相逢
2006-11-21 14:09
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
得分:0 

谢谢,你太厉害了,真的很佩服,我也刚刚思考出来,哈哈,今天好好庆祝以下,发现学习还是很有乐趣的嘛,全给你了


大家一起努力,共同打造未来!!
2006-11-21 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-104436-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049953 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved