这段代码为什么不对啊?高手进。

来源:百度知道 编辑:UC知道 时间:2024/09/24 07:03:24
Dim username As String = Trim(TextBox1.Text)
Dim userpwd As String = Trim(TextBox2.Text)
Dim useremail As String = Trim(TextBox3.Text)
Dim userqq As String = Trim(TextBox4.Text)
Dim regconn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("mm.mdb"))
regconn.Open()
Dim sql As String = "insert into user(use,pwd,qq,email) values('" & username & "','" & userpwd & "'," & userqq & ",'" & useremail & "')"
Dim regcomm As New OleDbCommand(sql, regconn)
Try
regcomm.ExecuteNonQuery()

regconn.Close()
Response.Write("<script LANGUAGE='javascript'>alert('注册成功!');</script>")
Catch ex As Exception
Response.Write(ex.Message)
MsgBox(us

Dim sql As String = "insert into user(use,pwd,qq,email) values('" & username & "','" & userpwd & "'," & userqq & ",'" & useremail & "')"

你把&userqq& 的引号去掉 试一下

如果qq是 int型 就不需要加"" 如果是字符串型 则需要加 '"&userqq&"'

SQL语句的连接最好用String.Format的方法。
int id = 5;
string Name = "张三";
string.Format("insert into Users(id,name)values({0},'{1}');",id,Name);
需记,values()里面的列如果是int就{x},如果是string(varchar)就用'{x}'
x表示索引,从0开始。后面的参数依次代表{}里面的值。这里id就是{0}的值,也是就5。Name就是{1}的值,也就是张三。
如果用到了SQL里面的保留字,
如User 那就要加[]->insert into [user]...

"insert into [user](use,pwd,qq,email) values('" & username & "','" & userpwd & "'," & userqq & ",'" & useremail & "')"

不要用这些敏感字符.例如user,数据库会把他识别为关键字,必须要用的话,最好打上中括号。