Vb.net Insert语句中的语法错误
我是数据库连接新手,当我在Vb.net Insert语句中的语法错误,vb.net,oledb,Vb.net,Oledb,我是数据库连接新手,当我在cmdInsert.ExecuteNonQuery()行遇到问题时,它会说INSERT INTO语句存在语法错误,我无法找出问题所在: Imports System.Data Imports System.Data.OleDb Public Class txtNotes Dim cnnOLEDB As New OleDbConnection Dim cmdInsert As New OleDbCommand Dim strConnectionS
cmdInsert.ExecuteNonQuery()
行遇到问题时,它会说INSERT INTO语句存在语法错误,我无法找出问题所在:
Imports System.Data
Imports System.Data.OleDb
Public Class txtNotes
Dim cnnOLEDB As New OleDbConnection
Dim cmdInsert As New OleDbCommand
Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Environment.CurrentDirectory & "\CourseworkDB"
'the name of the database goes in here'
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnnOLEDB.ConnectionString = strConnectionString
cnnOLEDB.Open()
End Sub
Private Sub AddFirstName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddFirstName.Click
If txtFirstName.Text <> "" Then
MsgBox(cmdInsert.CommandText)
cmdInsert.CommandText = "INSERT INTO Customer (First Name) VALUES (" & txtFirstName.Text & ", '"
cmdInsert.CommandType = CommandType.Text
cmdInsert.Connection = cnnOLEDB
cmdInsert.ExecuteNonQuery()
Else
MsgBox("Enter the required values:" & vbNewLine & "1. First Name")
End If
cmdInsert.Dispose()
End Sub
End Class
导入系统数据
导入System.Data.OleDb
公共类txtNotes
Dim cnnOLEDB作为新的OLEDB连接
Dim cmdInsert作为新的OleDbCommand
Dim strConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=“&System.Environment.CurrentDirectory&”\CourseworkDB”
'数据库的名称位于此处'
私有子表单1_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
cnnOLEDB.ConnectionString=strConnectionString
cnnOLEDB.Open()
端接头
私有子AddFirstName_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理AddFirstName。单击
如果txtFirstName.Text为“”,则
MsgBox(cmdInsert.CommandText)
cmdInsert.CommandText=“插入到客户(名字)值(&txtFirstName.Text&,”
cmdInsert.CommandType=CommandType.Text
cmdInsert.Connection=cnnOLEDB
cmdInsert.ExecuteNonQuery()
其他的
MsgBox(“输入所需值:”&vbNewLine&“1.名字”)
如果结束
cmdInsert.Dispose()
端接头
末级
试试这个
“插入客户(名字)值(“&txtFirstName.Text&“)”
警告:正在监视您
cmdInsert.CommandText = _
"INSERT INTO Customer (First Name) VALUES ('" & txtFirstName.Text & "')"
我强烈建议不要通过将字符串连接在一起而进入构建SQL字符串的例行程序。您将对SQL注入敞开大门,尤其是在基于web的情况下。您应该在字符串中使用占位符参数构建命令,然后将参数添加到命令对象中。在相同的位置添加参数命令中显示的顺序…例如
cmdInsert.CommandText = "INSERT INTO Customer (FirstName, LastName) VALUES ( @parmFirstName, @parmLastName )"
cmdInsert.Parameters.AddWithValue( "@parmFirstName", txtFirstName.Text );
cmdInsert.Parameters.AddWithValue( "@parmLastName", txtLastName.Text );
如果字段名具有嵌入空格,则不同的数据库可以工作
不同的是,有些需要单回勾(数字左边的键)
1) 在字段周围。例如“名字”。有些使用方括号,
例如[名字]