这么写 有问题 
string n = Request.QueryString["k"];        string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc";
这么写没问题 
 string n = Request.QueryString["k"];        string kiba518 = "select  * from cpxx ";问题在哪呢

解决方案 »

  1.   

    注意看看有没有漏掉空格:
    string kiba518 = string.Format("select * from cpxx where cplbsz={0} order by quan desc", n); 
      

  2.   

    string n = Request.QueryString["k"];        string kiba518 = "select  * from cpxx "; 
    如果kiba518 后面不接任何strng的话就没问题
    你在查询前断点查看kiba518 具体是什么,到数据库的查询管理器自己看看
      

  3.   

    另外
    string n = Request.QueryString["k"];        string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc";如果表里cplbsz是字符串定义的话,应该写成  string kiba518 = "select  * from cpxx where cplbsz=\'"+n+"\' order by quan desc";
      

  4.   

    string n = Request.QueryString["k"].tostring();        string kiba518 = "select  * from cpxx where cplbsz='"+n+"'order by quan desc"; 这样吧 少了2个单引号
      

  5.   

    cplbsz如果这个字段是字符型的,要在值的两边加单引号.
      

  6.   


    这句话不理解cplbsz是数字
      

  7.   

    调试的时候把sql语句直接复制到数据库下执行,看下出了什么问题。
      

  8.   


    kiba518 是个SQL语句,在查询分析器中,测试一下.
      

  9.   

    用数据库自带的查询分析器试一下你的SQL语句是否有误
      

  10.   

    如果是数字
    string n = Request.QueryString["k"]; 那你这句就要强制转换了
    int n=convert.toint32(request.querystring["k"].tostring());
      

  11.   

    string n = Request.QueryString["k"]
    这个值没有获取到吧
      

  12.   

    string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc"; 
    order by quan desc" 前面加空格
      

  13.   

    n 是字符串类型 
    缺少一对单引号
    如果 你 是数字类型就可以不变string kiba518 = "select  * from cpxx where cplbsz='"+n+"' order by quan desc";
      

  14.   

    我就很奇怪,楼主你写
    string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc"; 
    编译让你通过?头尾的2个双引号没问题,中间的2个双引号你不加转义字符不会报错吗?
    string kiba518 = "select  * from cpxx where cplbsz=\"+n+\"order by quan desc"; 
    起码得加这2个转义字符吧
      

  15.   

    如果表里cplbsz是字符串定义的话,应该写成   string kiba518 = "select  * from cpxx where cplbsz=\'"+n+"\' order by quan desc";
      

  16.   


    这么写 有问题 
    string n = Request.QueryString["k"]; 
    string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc"; 第一句:你的n是数字类型的,你用的是string类型;
    第二句:你直接这样写的话 假设 n=8,则出来后的语句为
    string kiba518 = "select  * from cpxx where cplbsz=8order by quan desc"
    你没发现直接连在一起了吗,没有空格。
    正确写法:string n = Convert.ToInt32(Request.QueryString["k"].ToString());
    string kiba518 = "select  * from cpxx where cplbsz= " + n + " order by quan desc"; 第二句也就是在order前面加个空格
    呵呵,其实断点一下也就看出来了,小问题
      

  17.   

    if(Request.QueryString["k"]!=null)
    {
       int n=Convert.ToInt32(Request.QueryString["k"].ToString());   //获得参数数字
       string kiba518="select * from cpxx where cplbsz="+n+" order by quan desc";
    }
      

  18.   

    string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc"; 问题所在
    是string kiba518 = "select  * from cpxx where cplbsz='"+n+"order by quan desc"'; 
      

  19.   


    首先判断是否是Request.QueryString["k"];
    获取问题……
    如果是就像23楼一样加个判断
    if(Request.QueryString["k"]!=null) 在这基础上你试试
    "select  * from cpxx order by quan desc";
    是否可以
    如果不可以 就说明order by quan desc有问题
    "select  * from cpxx where cplbsz="+n+"order by quan desc";
    这里错了
    如果N是字符 就应该是
    "select  * from cpxx where cplbsz=\'"+n+"\' order by quan desc";如果是数字 就应该是
    "select  * from cpxx where cplbsz="+n+" order by quan desc";
      

  20.   

     string kiba518 = string.Format("select  * from cpxx where cplbsz='{0}' order by quan desc",n); 
      

  21.   

    谢谢支持,哈哈,不过那个第一句的n值的类型应该定义成int,在原来上改的,所以忘了,呵呵 
      

  22.   

    语句写错了。。
    string kiba518 = "select  * from cpxx where cplbsz="+n+"order by quan desc"; 
      

  23.   

    cplbsz是字符串类型的话要在前后加单引号‘’;order前可能需要加个空格;
    SQL语言相关的问题可以用个MessageBox.Show(...)看一下每次生成的到底是什么,一眼就能看出是什么问题了
      

  24.   

    string n = Request.QueryString["k"]; string kiba518 = "select  * from cpxx where cplbsz=@n order by quan desc"; SqlConnection conn = new SqlConnection("...");
    SqlCommand command = new SqlCommand(kiba518,conn);
    command.Parameters.Add("@n", SqlDbType.Int).Value = n;
    //And So on.........
    标准写法。