string fileid="193,192,191"id字段为自增长列int
SELECT * FROM mooncjzjlist where id in("+fileid+")这样出错信息为,fileid转换为int出错,请问怎么改一下?

解决方案 »

  1.   

    SELECT * FROM mooncjzjlist where id in('"+fileid+"');
      

  2.   

    string sql="exec('SELECT * FROM mooncjzjlist where id in("+fileid+")')";
      

  3.   

    肯定要出错了,int里不能包含 , 逗号的吧,如果是强制转化的就是 Convert.ToInt32(fileid);你想fileid和id比较 最好把fileid整成数组形式的、
      

  4.   

    SELECT * FROM mooncjzjlist where id in("+fileid+") 
    在哪执行?总该有个string fileid="193,192,191";
    string sql="SELECT * FROM mooncjzjlist where id in("+fileid+") ";这样的形式吧?
    或者fileid用参数的形式代入存储过程
      

  5.   


    提取数据时出现错误:System.Data.SqlClient.SqlException: 将 varchar 值 '194,193,192,' 转换为数据类型为 int 的列时发生语法错误。
      

  6.   

    你在数据库中执行的?这样的SQL语句不能直接执行,要用exec执行...如果是在程序中拼好再传递的应该没问题,仔细检查代码...
      

  7.   

    你字段设置的是int 
    fileid是 string型 当然不行了
      

  8.   

    将'194,193,192'作为一个字符串处理了,
    SELECT * FROM mooncjzjlist where id in(""+fileid+""); 
    试试,应该不时类型转换的问题,问题在括号内
      

  9.   


    string fileid="193,192,191"//id字段为自增长列int
    string sql="SELECT * FROM mooncjzjlist where id in("+fileid+") "
      

  10.   


    string fileid="193,192,191" ;
    STRING fileid2=fileid.REPLACE(",",",");//把中文逗号换成英文逗号SELECT * FROM mooncjzjlist where id in("+ fileid +") 
      

  11.   


    SELECT * FROM mooncjzjlist where id in('"+fileid+"') 
      

  12.   


    string fileid="193,192,191" ;
    STRING fileid2=fileid.REPLACE(",",",");//把中文逗号换成英文逗号string sql="SELECT * FROM mooncjzjlist where id in("+ fileid2 +") "
      

  13.   


    你的SQL是绝对对的,你应该找找你其他地方的可能存在的错误。
    比如你确定你的fileid是对的吗?最后是不是多出个","出来?或者你的","是中文版的逗号
      

  14.   

    SELECT * FROM mooncjzjlist where [id] in("+fileid+") 
    这个SQL是没有问题的  
      

  15.   

    用下面这个:
    string sql="SELECT * FROM mooncjzjlist where [id] in("+printfileid+")";提取数据时出现错误:System.Data.SqlClient.SqlException: 第 1 行: ')' 附近有语法错误。
      

  16.   

    SELECT * FROM mooncjzjlist where id in('"+fileid+"') 
      

  17.   

    SELECT * FROM mooncjzjlist where id in("+fileid+") 
    调试看看sql语句,在查询器执行看看。语句没问题
      

  18.   

    谢谢各位帮忙,解决了,先用split拆分,再拼就可以了。
      

  19.   

    或者你不用拆分! 
      fileid这个你也应该是拼接的吧?
      你在拼接的时候加上''就好了!
    比如! 
      fileid +="'"+ 你的变量 +"',";
    就可以了
     最后 
    fileid.substring(0,fileid.length-1);
      

  20.   


    string fileid="193,192,191"string sql="SELECT * FROM mooncjzjlist where id in ("+fileid+")"
    in后边加个空格看看 sqlserver数据库应该不会出错 一直这样用的