declare @sql varchar(8000)
set @sql='insert into [table] values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+@ddd+''',1)'exec(@sql)

解决方案 »

  1.   


    set @sql='insert into [table] values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+cast(@ddd as varchar(10))+''',1)'
      

  2.   

    你写了5个字段!!!!!set @sql='insert into table values('''+@aaa+''','''+@bbb+''','''+@ccc+''',1)'
      

  3.   

    set @sql='insert into [table] values("'+@aaa+'","'+@bbb+'","'+@ccc+'","'+cast(@ddd as varchar(10))+'",1)'exec(@sql)
      

  4.   

    对阿,
    1 你用了5个字段
    2 你用了系统的保留字table,用[]才行。
      

  5.   

    set @sql='insert into [table] values('''+@aaa+''','''+@bbb+''','''+@ccc+''','+cast(@ddd as varchar(10))+',1)'
      

  6.   

    try:
    set @sql='insert into [table] select '''+@aaa+''','''+@bbb+''','''+@ccc+''',1'
    exec(@sql)
      

  7.   

    实在不好意思,SQL贴错了,表名是table1,而且也是5个字段,而且有一个类似的SQL是正常的:不正常的SQL:
    set @sql='insert into table1 values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+@ddd+''',1)'正常的SQL:
    set @sql='insert into table1 values('+'''a'','+'''b'','+'''c'','+'''d'',1)'正常的插入后,字段值分别是a,b,c,d,1
    不正常的插入后,字段值分别为+@aaa+,+@bbb+,+@ccc+,+@ddd+,1
      

  8.   

    set @sql='insert table1 values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+cast(@ddd as varchar(10))+''',1)'具体报什么错
      

  9.   

    set @sql='insert table1 values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+cast(@ddd as varchar(10))+''',1)'具体报什么错
      

  10.   

    就是什么记录也没插入呀!
    按道理是不是应该这样就可以了呀?
    set @sql='insert into table1 values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+@ddd+''',1)'
    如果是下面这样,可以正常插入记录,字段值分别为a,b,c,d,1
    set @sql='insert into table1 values('''+'a'+''','''+'b'+''','''+'c'+''','''+'d'+''',1)'可为何把'a'变成@aaa等,就不能插入记录了呢?检查语法也是通过的。
      

  11.   

    百思不得其解,为何把'a'换成了@aaa,就不运行了?
      

  12.   

    下面这样可以通过:
    create table testsql (a varchar(20),b varchar(20),c varchar(20),d int)
    declare @sql varchar(8000)
    declare @aaa varchar(2000)
    declare @bbb varchar(2000)
    declare @ccc varchar(2000)
    set @aaa = 'aa'
    set @bbb = 'bb'
    set @ccc = 'cc'set @sql='insert into testsql values('''+@aaa+''','''+@bbb+''','''+@ccc+''',1)'
    exec(@sql)
      

  13.   

    create table table1(a varchar(100),b varchar(100),c varchar(100),d varchar(100),e int)
    declare @sql varchar(8000),@aaa varchar(100),@bbb varchar(100),@ccc varchar(100),@ddd varchar(100)select @aaa='aaa',@bbb='hiasdf',@ccc='rtyrt',@ddd='sgret'
    set @sql='begin tran insert table1 values('''+@aaa+''','''+@bbb+''','''+@ccc+''','''+@ddd+''',1) commit'
    exec(@sql)
    select * from table1go
    drop table table1---------你执行看一下!!把结果贴出!