毕业设计的问题,向高手请教

guoliangzaixian 2008-04-22 11:55:37
在做修改管理员密码的功能时,出现问题,班里好几个高手都没有解决问题.代码如下:
Dim SQLStr As String = "Select * From UserInfor Where UserName = '" + txtUserName.Text + " '" '设置SQL命令字符串
Dim ModiString As String
MyCom = New OleDbCommand '创建Command对象
MyCom.Connection = MyCon '通过MyCon连接对象操作数据库
MyCom.CommandType = CommandType.Text '设置命令类型
MyCom.CommandText = SQLStr '设置要执行的命令
MyDataAdapter = New OleDbDataAdapter '生成OleDbDataAdapter对象
'设置MyDataAdapter对象的SelectCommand属性值为创建的OleDbCommand对象名
MyDataAdapter.SelectCommand = MyCom
MyDs = New DataSet '产生新的数据集
MyDataAdapter.Fill(MyDs, "UserInfor") '填充数据集
Navigator = Me.BindingContext(MyDs, "UserInfor") '用Navigator绑定SysInfoo表
'从数据库中读取密码
'If Navigator.Count = 0 Then
'MsgBox("内部错误!没有管理员密码!请重新设置一个!", vbOKOnly + vbCritical, "错误")
'Exit Sub
' End If
If Not (txtOldPw.Text = MyDs.Tables("UserInfor").Rows(Navigator.Position)("Password").ToString()) Then
MsgBox("您输入的原密码不正确,无法完成更改密码的操作,请您确认后重新输入!", MsgBoxStyle.OKOnly + MsgBoxStyle.Critical, "密码错误")
txtOldPw.Text = ""
txtNewPw.Text = ""
txtReEnter.Text = ""
txtOldPw.Focus()
Exit Sub
End If
'检查两次输入的新密码是否一致
If Not (txtNewPw.Text = txtReEnter.Text) Then
MsgBox("两次输入的新密码不一样,请在‘新密码’和‘确认新密码’输入框中输入一样的密码!" & vbCrLf & vbCrLf & "这样做的目的是防止因为输入错误,从而造成密码的丢失,没有密码是无法进行考试管理的", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "错误")
Exit Sub
End If
'检查新旧密码是否相同
If txtOldPw.Text = txtNewPw.Text Then
MsgBox("您输入的新密码和原来的密码完全相同,没有必要进行修改。" & vbCrLf & "您的密码没有接受!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "密码没有接受")
Exit Sub
End If
'写入新密码
ModiString = "Update UserInfor Set Password = " + txtNewPw.Text
MyCom.CommandText = ModiString + " where UserName='" + txtUserName.Text + "'"
MyCom.ExecuteNonQuery() '执行UPDATE命令
MsgBox("密码修改成功,下次再提示输入新密码时,请使用刚刚修改的新的管理员密码!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "修改管理员密码成功")
Me.Close()

问题就在 MyCom.ExecuteNonQuery() '执行UPDATE命令 这一句上!望高手能指点迷津!!!谢谢了
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoruixing 2008-04-22
  • 打赏
  • 举报
回复
晕,又是引号问题
ModiString = "Update UserInfor Set Password = " + txtNewPw.Text
修改为:

ModiString = "Update UserInfor Set Password = '" + txtNewPw.Text + "'"

password字段是字符型的吧
hc8112_boy 2008-04-22
  • 打赏
  • 举报
回复
SQL中

Password中关健字,因此字段名如果password需要加上中括号[Password]
guoliangzaixian 2008-04-22
  • 打赏
  • 举报
回复
呵呵...忘记1楼的前辈了
再谢一次!不好意思啊
guoliangzaixian 2008-04-22
  • 打赏
  • 举报
回复
谢谢2楼和3楼的前辈啊 !我给你们都加分啊!
太感谢了
jimogaoshou 2008-04-22
  • 打赏
  • 举报
回复
最好做个连接数据库的类,免得每次都写连接代码。那样麻烦啊
jimogaoshou 2008-04-22
  • 打赏
  • 举报
回复
password 是字符型,肯定要加单引号, 然后要么[Password] 要么[UserInfor]

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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