Access 데이터베이스에 데이터를 쓸 수있는 프로그램을 작성하려고하지만 "INSERT INTO 문에서 구문 오류"라는 오류가 계속 발생합니다.INSERT INTO 문에서 구문 오류가 발생했습니다. Access에 쓸 때
FirstLast
은 테이블의 이름입니다. First
및 Last
은 그 안에 열입니다. 당신은 자동으로 자신 뒤처리 있도록 또한, 연결 및 명령에 대한 Using
문을 사용한다
INSERT INTO FirstLast (First, Last) VALUES (@First, @Last)
참고 :
Imports System.Data.OleDb
Public Class Form1
Dim theConnectionString As New OleDbConnection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
theConnectionString.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Documents\Database1.accdb"
Dim cmd As OleDbCommand = New OleDbCommand("INSERT INTO FirstLast (First, Last) VALUES (@First, TextBox1.text)", theConnectionString)
cmd.Parameters.Add("@First", OleDbType.Char, 255).Value = TextBox1.Text
cmd.Parameters.Add("@Last", OleDbType.Char, 255).Value = TextBox1.Text
Try
theConnectionString.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
theConnectionString.Close()
End Try
End Sub
End Class
당신은'@ First'와'@ Last' 매개 변수의 이름을 지정하고 있습니다. 그래서'? '대신에 그것들을 사용하지 않아야합니까? – Ryan
@mwilson : 아니요, 매개 변수 * 이름을 바꿔야합니다. 그것들은 당신의 컬럼 이름과 같을 필요는 없습니다. –
필자는 Access 전문가는 아니지만, SQL에 'VALUES (@First, TextBox1.text)'가 있다는 단순한 실제 문제가 아닙니다. * VALUES (@First, @ 마지막)'? 그렇다면이 질문을 "단순히 오타"로 끝내기로했습니다. –