Vb.net 使用管理员和多个用户(权限)登录,我可以';救不了
这是我的保存代码Vb.net 使用管理员和多个用户(权限)登录,我可以';救不了,vb.net,ado.net,oledb,Vb.net,Ado.net,Oledb,这是我的保存代码 尝试保存时出错 错误消息(语法错误插入语句) 我已经检查了我的数据库表,它和我的代码是一样的 代码下的错误图像 Public Sub adduser() 尝试 如果conn.state=connectionstate.closed,则 康涅狄格州公开赛 如果结束 Dim cmd作为新的OLEDB命令 cmd.connection=conn cmd.CommandType=CommandType.Text cmd.CommandText=“在登录([name]、电子邮件、电话、用
尝试保存时出错
错误消息(语法错误插入语句) 我已经检查了我的数据库表,它和我的代码是一样的 代码下的错误图像
Public Sub adduser()
尝试
如果conn.state=connectionstate.closed,则
康涅狄格州公开赛
如果结束
Dim cmd作为新的OLEDB命令
cmd.connection=conn
cmd.CommandType=CommandType.Text
cmd.CommandText=“在登录([name]、电子邮件、电话、用户名、密码、角色1、清单1、删除1、更新1、设置1、备份1、报告1、员工1、贷款1、债务1)值(@name、@email、@phone、@username、@password、@role\u 1、@inventory\u 1、@delete\u 1、@update\u 1、@settings\u 1、@backup\u 1、@reports\u 1、@employee\u 1、@loan\u 1、@loan\u 1)中插入值”
cmd.parameters.addwithvalue(“@name”,textbox5.text.trim)
cmd.Parameters.AddWithValue(“@email”,TextBox5.Text.Trim)
cmd.Parameters.AddWithValue(“@phone”,TextBox3.Text.Trim)
cmd.parameters.addwithvalue(“@username”,textbox1.text.trim)
cmd.parameters.addwithvalue(“@password”,textbox2.text.trim)
cmd.Parameters.AddWithValue(“@role_1”,ComboBox1.Text.Trim)
cmd.Parameters.AddWithValue(“@inventory_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@delete_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@update_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@settings_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@backup_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@reports_1”,CheckBox1.Checked)
cmd.Parameters.AddWithValue(“@employee_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@loan_1”,复选框1.Checked)
cmd.Parameters.AddWithValue(“@debt_1”,复选框1.Checked)
cmd.ExecuteScalar()
康涅狄格州关闭
userregistration.loadaccounts()
msgbox(“添加”)
textbox1.text=“”
textbox2.text=“”
textbox3.text=“”
textbox4.text=“”
textbox5.text=“”
combobox1.text=“”
checkbox1.checked=False
checkbox2.checked=False
checkbox3.checked=False
checkbox4.checked=False
checkbox5.checked=False
checkbox6.checked=False
checkbox7.checked=False
checkbox8.checked=False
checkbox9.checked=False
checkbox10.checked=False
特例
MsgBox(“错误!:”+ex.Message)
结束尝试
端接头
这是众所周知的情况。密码是一个保留关键字。以[Password]的形式编写。代码还显示了众所周知的错误做法。不要保留全局连接对象。不要使用AddWithValue。要执行查询,请使用ExecuteOnQuery not ExecuteScalar。当您希望从查询中得到一个返回值时,可以使用后者。您应该签出并停止使用
.AddWithValue()
-这可能会导致意外的结果…很高兴能提供帮助。特别是看上面的第二个副本,其中的示例修复了我在上面的评论中提到的其他问题从不将密码存储为纯文本。