DElphi SQL 语句提示“insert into ”语法错误,怎么回事啊?
Close;SQL.Clear;SQL.Add('Insertinto数据信息表([序号],[DateTime],[Department],[Type],[Name],[...
Close;
SQL.Clear;
SQL.Add('Insert into 数据信息表([序号],[DateTime],[Department],[Type],[Name],[gender]');
SQL.Add('([S1],[S2],[S3],[S4],[S5],[BZ_S])');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X])');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M])');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q]');
SQL.Add('([P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6)');
SQL.Add('(:b1,:b2,:b3,:b4,:b5,:b6)');
SQL.Add('(:c1,:c2,:c3,:c4;:c5;:c6,:c7)');
SQL.Add('(:d1,:d2,:d3,:d4,:d5)');
SQL.Add('(:e1,:e2,:e3,:e4)');
SQL.Add('(:f1,:f2,:f3,:f4)');
Parameters.ParamByName('a1').Value:=XHEdit.Text;
Parameters.ParamByName('a2').Value:=Edit1.Text;
Parameters.ParamByName('a3').Value:=DWEdit.Text;
Parameters.ParamByName('a4').Value:=KSEdit.Text;
Parameters.ParamByName('a5').Value:=XMEdit.Text;
Parameters.ParamByName('a6').Value:=XBEdit.Text;
Parameters.ParamByName('b1').Value:=SEdit1.Text;
Parameters.ParamByName('b2').Value:=SEdit2.Text;
Parameters.ParamByName('b3').Value:=SEdit3.Text;
Parameters.ParamByName('b4').Value:=SEdit4.Text;
Parameters.ParamByName('b5').Value:=SEdit5.Text;
Parameters.ParamByName('b6').Value:=Memo_S.Text;
Parameters.ParamByName('c1').Value:=XEdit1.Text;
Parameters.ParamByName('c2').Value:=XEdit2.Text;
Parameters.ParamByName('c3').Value:=XEdit3.Text;
Parameters.ParamByName('c4').Value:=XEdit4.Text;
Parameters.ParamByName('c5').Value:=XEdit5.Text;
Parameters.ParamByName('c6').Value:=XEdit6.Text;
Parameters.ParamByName('c7').Value:=Memo_X.Text;
Parameters.ParamByName('d1').Value:=MEdit1.Text;
Parameters.ParamByName('d2').Value:=MEdit2.Text;
Parameters.ParamByName('d3').Value:=MEdit3.Text;
Parameters.ParamByName('d4').Value:=MEdit4.Text;
Parameters.ParamByName('d5').Value:=Memo_M.Text;
Parameters.ParamByName('e1').Value:=QEdit1.Text;
Parameters.ParamByName('e2').Value:=QEdit2.Text;
Parameters.ParamByName('e3').Value:=QEdit3.Text;
Parameters.ParamByName('e4').Value:=Memo_Q.Text;
Parameters.ParamByName('f1').Value:=PEdit1.Text;
Parameters.ParamByName('f2').Value:=PEdit2.Text;
Parameters.ParamByName('f3').Value:=PEdit3.Text;
Parameters.ParamByName('f4').Value:=Memo_P.Text;
ExecSql;
运行后提示语法错误。是不是我的多行语句写法有问题?
已全新修改:
出现新的错误 错误的查询表达式在'?;?;?;'中,这是什么意思? 展开
SQL.Clear;
SQL.Add('Insert into 数据信息表([序号],[DateTime],[Department],[Type],[Name],[gender]');
SQL.Add('([S1],[S2],[S3],[S4],[S5],[BZ_S])');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X])');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M])');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q]');
SQL.Add('([P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6)');
SQL.Add('(:b1,:b2,:b3,:b4,:b5,:b6)');
SQL.Add('(:c1,:c2,:c3,:c4;:c5;:c6,:c7)');
SQL.Add('(:d1,:d2,:d3,:d4,:d5)');
SQL.Add('(:e1,:e2,:e3,:e4)');
SQL.Add('(:f1,:f2,:f3,:f4)');
Parameters.ParamByName('a1').Value:=XHEdit.Text;
Parameters.ParamByName('a2').Value:=Edit1.Text;
Parameters.ParamByName('a3').Value:=DWEdit.Text;
Parameters.ParamByName('a4').Value:=KSEdit.Text;
Parameters.ParamByName('a5').Value:=XMEdit.Text;
Parameters.ParamByName('a6').Value:=XBEdit.Text;
Parameters.ParamByName('b1').Value:=SEdit1.Text;
Parameters.ParamByName('b2').Value:=SEdit2.Text;
Parameters.ParamByName('b3').Value:=SEdit3.Text;
Parameters.ParamByName('b4').Value:=SEdit4.Text;
Parameters.ParamByName('b5').Value:=SEdit5.Text;
Parameters.ParamByName('b6').Value:=Memo_S.Text;
Parameters.ParamByName('c1').Value:=XEdit1.Text;
Parameters.ParamByName('c2').Value:=XEdit2.Text;
Parameters.ParamByName('c3').Value:=XEdit3.Text;
Parameters.ParamByName('c4').Value:=XEdit4.Text;
Parameters.ParamByName('c5').Value:=XEdit5.Text;
Parameters.ParamByName('c6').Value:=XEdit6.Text;
Parameters.ParamByName('c7').Value:=Memo_X.Text;
Parameters.ParamByName('d1').Value:=MEdit1.Text;
Parameters.ParamByName('d2').Value:=MEdit2.Text;
Parameters.ParamByName('d3').Value:=MEdit3.Text;
Parameters.ParamByName('d4').Value:=MEdit4.Text;
Parameters.ParamByName('d5').Value:=Memo_M.Text;
Parameters.ParamByName('e1').Value:=QEdit1.Text;
Parameters.ParamByName('e2').Value:=QEdit2.Text;
Parameters.ParamByName('e3').Value:=QEdit3.Text;
Parameters.ParamByName('e4').Value:=Memo_Q.Text;
Parameters.ParamByName('f1').Value:=PEdit1.Text;
Parameters.ParamByName('f2').Value:=PEdit2.Text;
Parameters.ParamByName('f3').Value:=PEdit3.Text;
Parameters.ParamByName('f4').Value:=Memo_P.Text;
ExecSql;
运行后提示语法错误。是不是我的多行语句写法有问题?
已全新修改:
出现新的错误 错误的查询表达式在'?;?;?;'中,这是什么意思? 展开
5个回答
展开全部
SQL.Add('Insert into 数据信息表([序号],[DateTime],[Department],[Type],[Name],[gender]');
SQL.Add('([S1],[S2],[S3],[S4],[S5],[BZ_S])');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X])');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M])');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q]');
SQL.Add('([P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6)');
SQL.Add('(:b1,:b2,:b3,:b4,:b5,:b6)');
SQL.Add('(:c1,:c2,:c3,:c4;:c5;:c6,:c7)');
SQL.Add('(:d1,:d2,:d3,:d4,:d5)');
SQL.Add('(:e1,:e2,:e3,:e4)');
SQL.Add('(:f1,:f2,:f3,:f4)');
这一段改成. :
SQL.Add('Insert into 数据信息表([序号],[DateTime],[Department],[Type],[Name],[gender],');
SQL.Add('[S1],[S2],[S3],[S4],[S5],[BZ_S],');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X],');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M],');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q],');
SQL.Add('[P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6,');
SQL.Add(':b1,:b2,:b3,:b4,:b5,:b6,');
SQL.Add(':c1,:c2,:c3,:c4;:c5;:c6,:c7,');
SQL.Add(':d1,:d2,:d3,:d4,:d5,');
SQL.Add(':e1,:e2,:e3,:e4,');
SQL.Add(':f1,:f2,:f3,:f4)');
如果我的解答是正确的,请给我分.
给你分析一下.这个SQL.Add是以增加字符串的方式来添加SQL命令的.就好像字符串操作符 "+"的连接字符用法一样.所以我们在用Query或ADOQuery时要SQL.Close ;SQL.Clear;等.
SQL.Add('([S1],[S2],[S3],[S4],[S5],[BZ_S])');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X])');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M])');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q]');
SQL.Add('([P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6)');
SQL.Add('(:b1,:b2,:b3,:b4,:b5,:b6)');
SQL.Add('(:c1,:c2,:c3,:c4;:c5;:c6,:c7)');
SQL.Add('(:d1,:d2,:d3,:d4,:d5)');
SQL.Add('(:e1,:e2,:e3,:e4)');
SQL.Add('(:f1,:f2,:f3,:f4)');
这一段改成. :
SQL.Add('Insert into 数据信息表([序号],[DateTime],[Department],[Type],[Name],[gender],');
SQL.Add('[S1],[S2],[S3],[S4],[S5],[BZ_S],');
SQL.Add('[X1],[X2],[x3],[X4],[X5],[X6],[BZ_X],');
SQL.Add('[M1],[M2],[M3],[M4],[BZ_M],');
SQL.Add('[Q1],[Q2],[Q3],[BZ_Q],');
SQL.Add('[P1],[P2],[P3],[BZ_P])');
SQL.Add('value(:a1,:a2,:a3,:a4,:a5,:a6,');
SQL.Add(':b1,:b2,:b3,:b4,:b5,:b6,');
SQL.Add(':c1,:c2,:c3,:c4;:c5;:c6,:c7,');
SQL.Add(':d1,:d2,:d3,:d4,:d5,');
SQL.Add(':e1,:e2,:e3,:e4,');
SQL.Add(':f1,:f2,:f3,:f4)');
如果我的解答是正确的,请给我分.
给你分析一下.这个SQL.Add是以增加字符串的方式来添加SQL命令的.就好像字符串操作符 "+"的连接字符用法一样.所以我们在用Query或ADOQuery时要SQL.Close ;SQL.Clear;等.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确保那个 sql 语句是:
insert into <table_name> values ( ..... );
不能一次插入多行, 应该一次插入一行
sql.clear
sql.add "insert into TTTT values ( :a1, :a2, :a3, :a4, :a5 );"
然后就绑定 a1-a5 这几个变量, 不能再
sql.add 了
insert into <table_name> values ( ..... );
不能一次插入多行, 应该一次插入一行
sql.clear
sql.add "insert into TTTT values ( :a1, :a2, :a3, :a4, :a5 );"
然后就绑定 a1-a5 这几个变量, 不能再
sql.add 了
追问
可我要绑定的变量有32个啊
而且插入的是同一张表的同一行。分开写的话就变成了插入表的多个行了,这样子不行的
有没有其他的方法啊
追答
只能写成一行 sql.print 出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逐条插入即可.
追问
怎么逐条插入呢?
我要的数据是在同一行的
不是多行数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MTVORVCD就能解决!
请关注我的网站: C#程序设计资料
请关注我的网站: C#程序设计资料
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
value--->>>>values
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询