2011-10-12 72 views
0

我试图插入两组数据到我的数据库,它给了我一个错误,说它在SQL语句的末尾缺少一个分号。为什么在我的SQL语句中插入两个表中需要分号?

这里是我在输入的代码:

procedure TForm9.Button1Click(Sender: TObject); 
var 
sNewTeam, sNewCountry : string; 
begin 
     sNewTeam := InputBox('NEW','Insert The Name Of The New Team','',); 
     sNewCountry := InputBox ('NEW','Insert The New Country',''); 

    qryAdmin.Active := false; 
    qryAdmin.SQL.Text := 'INSERT INTO Teams(Teams) VALUES("'+sNewTeam+'")' + 'Country(Teams) VALUES("'+sNewCountry+'")'; 
    qryAdmin.ExecSQL; 
end; 
+2

您的大写锁定已损坏。或者你的意思是SHOUT? – Oded

+0

请不要大喊。另外,当你把分号放入时会发生什么? –

+2

IMO,这是SQL问题的基本用法,与Delphi无关。即它会抛出与任何数据库前端工具,如MS Query,Access,SQL Server,PHPMyAdmin等相同的错误。 –

回答

6

那插入到不同的表,以便2 INSERT INTO的是必需的。

假设你的db支持使用分隔语句;执行:

'INSERT INTO Teams(Teams) VALUES("'+sNewTeam+'"); INSERT INTO Country(Teams) VALUES("'+sNewCountry+'")'; 

你也应该逃脱输入文本使用任何Paramaterization功能是由你的不愿透露姓名的数据库客户端的支持,以防止注射/错误。

+0

好吧,我发现我的问题与代码,我试图编辑的数据是在一张桌子上,所以我交换县(队)队(国家),因为我试图把球队名称和国家该团队来自INTO同一张表,它给了我一个错误,说有SQL语句结束时发现的字符.... – user991603

+0

我不遵循,你可以更新原始问题与表的细节(S)和查询 –

+0

嗨Alex K.我很感激这个帮助,但是我处于截止日期之前,是否可以通过电子邮件或发送给您一份该程序的副本,如果您可以请突出显示MS Access和Delphi中的错误......这将是更多的赞赏,谢谢 – user991603

相关问题