我有一个参数是  1,2,3,4,5,6,我需要实现的是:里面有6个值需要插入 insert into a1(pid,name) values(@pid,@name)当前是有留个值,需要循环插入每一个值, pid 就是 1,2,3,4,5,6,注意,最后还有一个逗号啊。求助啊!只能使用sql来现实

解决方案 »

  1.   

    自己给自己找麻烦,命名不合规范的参数,非得用sql去处理,你还不如写个存储过程,里面处理呢
      

  2.   

     string str="1,2,3,4,5,6,";
            string[] value=str.Split(',');
            foreach(string id in value){
                if(id!=""){
                
                //执行SQL语句 id就是要插入的id值
                }        }
      

  3.   

    纯SQL实现:
     1、将参数插入1个临时表
    Create Table #Temp(F1 int)
    Insert into  Temp values(1);Insert into  Temp values(2)...
     2、游标循环拼接SQL
    declare @txt varchar(max),@params int
    DECLARE MyAuthors CURSOR FOR SELECT F1 From Temp
    Open MyAuthors
    FETCH NEXT FROM MyAuthors Into @params 
    WHILE @@FETCH_STATUS = 0
    BEGIN
      set @txt=@txt+'insert into a1(pid,name) values('+@params+',@name);'
      FETCH NEXT FROM MyAuthors Into @params 
    End
    CLOSE MyAuthors 
    DEALLOCATE MyAuthors 
    3、执行sql
    exec (@txt)
      

  4.   

    如果是循环插入有规律的值还好~~自己看吧http://zhidao.baidu.com/question/107647077.html其实我是菜鸟~~~
      哦也  一边查一边帮忙的 。嘿嘿
      

  5.   

    在sql里使用substring去除最后一个字符就好。
     1,2,3,4,5,6,