command="SELECT * FROM data0 WHERE 姓名='"+sname+"' AND 学号='"+snum+"' AND 课程='"+scourse+"' AND 成绩="+ss;

解决方案 »

  1.   

    要注意,sname='' 同sname = NULL 的区别
      

  2.   

    我已经在上面定义了 sname="'"+namevalue+"'";snum="'"+numvalue+"'";
    scourse="'"+coursevalue+"'";
    ss="'"+svalue+"'"; 当如:numvalue=‘ ’的时候呢?
    但是sname=' ' 表示查找sname的所有属性值吗?
    是怎么用--当sname没付值的时候它为所有的属性值?
      

  3.   

    判断是否为空(NULL),如果为空,则用‘’代替。
      

  4.   

    用语句:numvalue.equals(" ")判断?
      

  5.   

    String namevalue=name.getText().trim();
    String numvalue=num.getText().trim();
    String coursevalue=course.getText().trim();
    String svalue=s.getText().trim();
    String sname=null,snum=null,scourse=null,ss=null;

    if(namevalue.equals(" "))
    { sname="' '";}
        
    else sname="'"+namevalue+"'";

    if(numvalue.equals(" "))
    { snum="' '";}
     else snum="'"+numvalue+"'";
    if(coursevalue.equals(" "))
     scourse="' '";
    else scourse="'"+coursevalue+"'";
    if(svalue.equals(" ")) 
    ss="' '";
     else  ss="'"+svalue+"'";
    command="SELECT * FROM data0 WHERE FIRST.姓名="+sname+" AND data0.学号="
    +snum+" AND data0.课程="
    +scourse+" AND data0.成绩="
    +ss;
    还是不行 啊
      

  6.   

    如果一个条件也没有,则不准查询,根据接收的查询条件数据判断
    -
    如果查询条件为空,则不产生对应的sql语句字符串
      

  7.   

    我知道了 但是 关键是 在字符串的连接上有问题啊
    如:if(namevalue.equals(" "))
    { sname="f2.name";}
        
    else sname="'"+namevalue+"'";

    if(numvalue.equals(" "))
    { snum="f2.num";}
     else snum="'"+numvalue+"'";
    if(coursevalue.equals(" "))
     scourse="f2.course";
    else scourse="'"+coursevalue+"'";
    if(svalue.equals(" ")) 
    ss="f2.s";
     else  ss="'"+svalue+"'";
    command="SELECT * FROM data0 f1, data0 f2 WHERE f1.姓名="+sname+" AND f1.学号="
    +snum+" AND f1.课程="
    +scourse+" AND f1.成绩="
    +ss;
      

  8.   

    这个 如果写成
    command="SELECT * FROM data0 f1, data0 f2 WHERE f1.姓名=f2.姓名 AND f1.学号=
    f2。学号 AND f1.课程=
    f2.课程 AND f1.成绩=
    f2.成绩";
    则可以查到所有的信息啊