繁体   English   中英

我的代码中这一行出现错误

[英]I am getting error on this line in my code

我仍在开发我的学校管理系统。 我想为我的系统创建多个用户名和密码。 但是我在 Insert 语句中收到 Runt 时间错误 31314。

CurrentDb.Execute "INSERT INTO users(Username,Password,Email,Mobile,UserType) VALUES('" & Me.uname & "', '" & Me.upass & "', '" & Me.uemail & "', '" & Me.umobile & "', '" & Me.utype & "',)"

您可以/应该使用临时参数查询:

  • sql语句看起来清晰多了
  • 它负责数据类型(没有必要'
  • 它可以防止 SQL 注入
With CurrentDb().CreateQueryDef(vbNullString, _
        "INSERT INTO users (Username, [Password], Email, Mobile, UserType) VALUES (p1, p2, p3, p4, p5)")
    .Parameters("p1").Value = Me.uname
    .Parameters("p2").Value = Me.upass
    .Parameters("p3").Value = Me.uemail
    .Parameters("p4").Value = Me.umobile
    .Parameters("p5").Value = Me.utype
    .Execute dbFailOnError
End With

如果您愿意,可以将参数p1p5重命名为更具描述性的名称, pUName等。

你在这里有一个尾随逗号:

"INSERT INTO users(Username,Password,Email,Mobile,UserType) VALUES('" & ... & Me.utype & "',)"
Trailing commma ---------------------------------------------------------------------------^

您还应该用方括号将Password字段括起来,因为这是 MS Access 中的保留字

INSERT INTO users (Username, [Password], Email, Mobile, UserType)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM