我遇到了一個問題,它告訴我我有一個無效的SQL語句;預期'DELETE','INSERT','PROCEDURE','SELECT'或'UPDATE'。vb.net外鍵插入sql語句
我試圖插入使用外鍵的數據。
表pemain包含 ID MABOPA PKBM MBA MBEIA PPPBBM MAPIM
表阿赫利包含 ID COMPANY_NAME 名 地址 poscode 狀態 電子郵件 電話 傳真 company_reg 網站 言論 pemain
其中表阿赫利場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完全重寫。 – Gustav