【发布时间】:2016-03-10 17:25:33
【问题描述】:
我实际上遇到了我的数据库访问问题。我无法连接到我的 SQL 数据库。错误是
INSERT INTO 语句中的语法错误
我已经尝试了所有方法,但我只需要帮助。这是我的代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
SqlDataSource1.InsertCommand = "INSERT INTO Information Page (RName, RCountry) VALUES ('" & TextBox1.Text & "', '" & TextBox2.Text & "')"
Label4.Text = DateTime.Now.ToString("dd MMMM yyyy h:mm")
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
name = TextBox1.Text
country = TextBox2.Text
SqlDataSource1.Insert()
Response.Redirect("http://localhost:49179/WebForm1.aspx")
End Sub
【问题讨论】:
-
您没有指定您使用的 SQL 版本,但是,您当前的查询无效,因为您的表名中有空格。如果您使用 MySQL,则需要使用反引号:
`Information Page`或者如果您使用 Microsoft SQL Server,则需要使用方括号[Information Page] -
您要插入的表的确切名称是什么?名称(一个字符串,可能被 ` 包围)应该是 INTO 和括号内的列名之间的唯一内容。
-
作为 T.S.提到,而且你还年轻,请阅读有关 PARAMETERIZED SQL 语句的信息。通过构建字符串,您对 sql-injection 是开放的。参数化查询基本上是 sql 语句中的占位符值,然后您执行 SqlDataSource1.InsertCommand.Parameters.Add() 以在相应的占位符位置填写您想要的值。阅读有关内容,您将看到大量可使用的示例。祝你学习顺利。
标签: sql vb.net insert-into