【发布时间】:2017-07-27 05:40:18
【问题描述】:
我遇到了一个问题,它告诉我我的 SQL 语句无效;预期为“DELETE”、“INSERT”、“PROCEDURE”、“SELECT”或“UPDATE”。
我正在尝试插入使用外键的数据。
表pemain包含 ID 马波帕 PKBM 工商管理硕士 MBEIA PPPBBM MAPIM
表 Ahli 包含 ID 公司名 姓名 地址 邮政编码 状态 电子邮件 电话 传真 公司注册 网站 评论 豌豆
其中Ahli表中的字段pemain是表pemain的外键
我使用的代码是
Dim Pos As Integer
Dim Pemain As Integer
Int32.TryParse(TxtBoxPoscode.Text, Pos)
Int32.TryParse(TxtBoxPemainId.Text, Pemain)
Access.AddParam("@MABOPA", TextBox1.Text)
Access.AddParam("@PKBM", TextBox2.Text)
Access.AddParam("@MBA", TextBox3.Text)
Access.AddParam("@MBEIA", TextBox4.Text)
Access.AddParam("@PPPBBM", TextBox5.Text)
Access.AddParam("@MAPIM", TextBox6.Text)
Access.AddParam("@companyname", TxtBoxComName.Text)
Access.AddParam("@name", TxtBoxName.Text)
Access.AddParam("@address", TxtBoxAdd.Text)
Access.AddParam("@poscode", Pos)
Access.AddParam("@state", CboBoxState.Text)
Access.AddParam("@email", TxtBoxEmail.Text)
Access.AddParam("@phone", TxtBoxPhone.Text)
Access.AddParam("@fax", TxtBoxFax.Text)
Access.AddParam("@companyreg", TxtBoxComName.Text)
Access.AddParam("@web", TxtBoxWebsite.Text)
Access.AddParam("@remarks", TxtBoxRemarks.Text)
Access.AddParam("@pemain", Pemain)
'Execute Insert Command
Access.ExecQuery(
"START TRANSACTION;" & _
"INSERT INTO pemain (MABOPA, PKBM, MBA, MBEIA, PPPBBM, MAPIM);" & _
"VALUES (@MABOPA, @PKBM, @MBA, @MBEIA, @PPPBBM, @MAPIM);" & _
"DECLARE @NewID INT;" & _
"SELECT @NewID = SCOPE_IDENTITY();" & _
"INSERT INTO Ahli (company_name, name, address, poscode, state, email, phone, fax, company_reg, website, remarks, pemain);" & _
"VALUES (@companyname, @name, @address, @poscode, @state, @email, @phone, @fax, @companyreg, @web, @remarks, @NewID);" & _
"COMMIT;")
如果有人能帮助我,那就太好了。
【问题讨论】:
-
你的代码是T-SQL,与Access SQL理解的相差甚远。您必须使用 Access SQL 完全重写它。
标签: sql database vb.net ms-access jointable