sql = INSERT INTO aa(a1,a2)values('10000010','4');INSERT INTO aa(a1,a2)values('10000011','5');
这个语句是在一个事务里执行的,但是执行的时候报错说:在SQL语句结尾之后找到字符。
有谁知道这是什么原因。
11 个解决方案
#1
sql = INSERT INTO aa(a1,a2)values('10000010','4');INSERT INTO aa(a1,a2)values('10000011','5');
这句话写得好生奇怪啊
;是C#分行符,这样行吗?而且sql是个字符串,后面的也没加引号,能通过?
这句话写得好生奇怪啊
;是C#分行符,这样行吗?而且sql是个字符串,后面的也没加引号,能通过?
#2
sql = INSERT INTO aa(a1,a2)values('10000010','4');INSERT INTO aa(a1,a2)values('10000011','5') 把最后一个分号去掉看看,我觉得应该是可以的
#3
提示的很清楚 了
#4
问题解决了吗?
楼主,没解决的话,再说出接下来的错误啊?
楼主,没解决的话,再说出接下来的错误啊?
#5
就没有这样写的
#6
把后面的引号去掉也是一样的错误提示
#7
还有,在SQLSERVER数据库里执行这样的语句是可以的
#8
刚刚又去查了点资料,好象说MDB中不支持多条SQL语句的,不知道是不是真的
#9
在ACCESS数据库里同事插入多条记录好像是不可以的,但是可以这样解决:
用For循环就可以了。
for(int i=0;i<记录条数;i++)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
如果要使写死的话那就更好办了,
for(int i=0;i<记录条数;i++)
{
if(i==0)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
else if(i==1)
{
INSERT INTO aa(b1,b2)values('ID值1','Value值1');
}
}
用For循环就可以了。
for(int i=0;i<记录条数;i++)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
如果要使写死的话那就更好办了,
for(int i=0;i<记录条数;i++)
{
if(i==0)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
else if(i==1)
{
INSERT INTO aa(b1,b2)values('ID值1','Value值1');
}
}
#10
因为我前台业务处理的时候是把sql语句放在一起的,每句之间用分号分开,然后把整段SQL语句作为参数传到执行方法中作为一个事务执行。
所以每次传过来的SQL中的语句条数并不固定,有时候是一条,有时候是几条INSERT,有时候是几条UPDATE,有时候是几条DELETE,也或者是夹杂着INSERT和UPDATE语句的。所以很难使用循环来拆分他。
以前在SQLSERVER里面根本就不用管的,只要用分号分开就可以直接执行的。在这里的话我想不出好的办法来判断拆分他
所以每次传过来的SQL中的语句条数并不固定,有时候是一条,有时候是几条INSERT,有时候是几条UPDATE,有时候是几条DELETE,也或者是夹杂着INSERT和UPDATE语句的。所以很难使用循环来拆分他。
以前在SQLSERVER里面根本就不用管的,只要用分号分开就可以直接执行的。在这里的话我想不出好的办法来判断拆分他
#11
总算解决了,来者有分
#1
sql = INSERT INTO aa(a1,a2)values('10000010','4');INSERT INTO aa(a1,a2)values('10000011','5');
这句话写得好生奇怪啊
;是C#分行符,这样行吗?而且sql是个字符串,后面的也没加引号,能通过?
这句话写得好生奇怪啊
;是C#分行符,这样行吗?而且sql是个字符串,后面的也没加引号,能通过?
#2
sql = INSERT INTO aa(a1,a2)values('10000010','4');INSERT INTO aa(a1,a2)values('10000011','5') 把最后一个分号去掉看看,我觉得应该是可以的
#3
提示的很清楚 了
#4
问题解决了吗?
楼主,没解决的话,再说出接下来的错误啊?
楼主,没解决的话,再说出接下来的错误啊?
#5
就没有这样写的
#6
把后面的引号去掉也是一样的错误提示
#7
还有,在SQLSERVER数据库里执行这样的语句是可以的
#8
刚刚又去查了点资料,好象说MDB中不支持多条SQL语句的,不知道是不是真的
#9
在ACCESS数据库里同事插入多条记录好像是不可以的,但是可以这样解决:
用For循环就可以了。
for(int i=0;i<记录条数;i++)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
如果要使写死的话那就更好办了,
for(int i=0;i<记录条数;i++)
{
if(i==0)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
else if(i==1)
{
INSERT INTO aa(b1,b2)values('ID值1','Value值1');
}
}
用For循环就可以了。
for(int i=0;i<记录条数;i++)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
如果要使写死的话那就更好办了,
for(int i=0;i<记录条数;i++)
{
if(i==0)
{
INSERT INTO aa(a1,a2)values('ID值','Value值');
}
else if(i==1)
{
INSERT INTO aa(b1,b2)values('ID值1','Value值1');
}
}
#10
因为我前台业务处理的时候是把sql语句放在一起的,每句之间用分号分开,然后把整段SQL语句作为参数传到执行方法中作为一个事务执行。
所以每次传过来的SQL中的语句条数并不固定,有时候是一条,有时候是几条INSERT,有时候是几条UPDATE,有时候是几条DELETE,也或者是夹杂着INSERT和UPDATE语句的。所以很难使用循环来拆分他。
以前在SQLSERVER里面根本就不用管的,只要用分号分开就可以直接执行的。在这里的话我想不出好的办法来判断拆分他
所以每次传过来的SQL中的语句条数并不固定,有时候是一条,有时候是几条INSERT,有时候是几条UPDATE,有时候是几条DELETE,也或者是夹杂着INSERT和UPDATE语句的。所以很难使用循环来拆分他。
以前在SQLSERVER里面根本就不用管的,只要用分号分开就可以直接执行的。在这里的话我想不出好的办法来判断拆分他
#11
总算解决了,来者有分