大家新年好,散分中
问2个简单问题:
 1:  一数据表中,如何求出所有重复的name数据
 2:动态编译和预编译各自的优劣势

解决方案 »

  1.   

    name是field吗?预编译是C的玩意了,就是再有优点也都成缺点了。你所谓的动态编译是一个什么样的东西?我不知道你说得是不是像Java最新版本中提供的在运行中可以调用JDK组建的功能?
    类似的,.Net平台有API可以控制编译本身的SDK。
      

  2.   

    select name from tablename
      

  3.   


    我是楼主,我说的不太清楚,请原谅
    重复下问题: 
      1:     一数据表中,name为字段,如何求出所有重复的name数据 
       我想的答案:select * from table where ? (如何求出重复的name所有数据)
      2:动态编译和预编译各自的优劣势
    从书上看来的,也许大家叫的都不一样
       动态编译:sql="update user set username='"+username+"',password='"+password+"'";
       预编译:sql="update user set username=?,password=?";
    请说说他们用法的优劣势,谢谢
      

  4.   

    1.要求重复的啥数据 分组出来了 具体再细分
    select * from table group by name2.前者组串比较麻烦 尤其是在变量比较多的情形
      

  5.   

    1.select * from table group by name having count(*)>1
    2.动态编译(使用Statement)的缺点是速度和安全性不如预编译(使用PreparedStatement)好
      一般来说建议使用预编译的
      

  6.   

    动态容易被黑sql语句黑。是吧。。
      

  7.   

    jf1.select * from table where name=?2.动态编译和预编译不太懂
      

  8.   

    一数据表中,如何求出所有重复的name数据 select t1.* 
    from student t1 , student t2
    where t1.name=t2.name
      

  9.   

    一数据表中,如何求出所有重复的name数据   (补充一下)select   t1.*   
    from   student   t1   ,   student   t2 
    where   t1.name=t2.name and t1.id <> t2.id
      

  10.   

    select   *   from   table   group   by   name   having   count(*)> 1 
    是name>1吧?
      

  11.   

    SELECT username, password FROM user WHERE username = '" + usernaem + "' AND password = '" + password + "'";当username为任何字符,password为' OR '1=1时,变为SELECT username, password FROM user WHERE username = 'aaa' AND password = '' OR '1=1';
      

  12.   

    而使用
    SELECT username, password FROM user WHERE username = ? AND password = ?
    时就不会产生这种情况。PreparedStatement属于预编译语句,由数据库管理系统完全语法解释和编译后再填充参数的,数据库管理系统会把一些预编译过的SQL语句缓存起来,以便于下次使用。而Statement属于填充参数后交与数据库系统编译的,每次的SQL就有可能不一样,这样不能达到缓存的需要,也没有办法进行重用。还有,使用“+”拼接字符串时的运行效率是极其低下的,如果参数少的话没有什么大碍,但是参数越多,运行效率是个问题,还有就是无数的单引号双引号会增加调试错误的难度,而且也很容易出错。PreparedStatement就没有这种问题,采用参数编号的方式进行填充,SQL中基本上看不到单引号,在调试和书写时都是很方便的。建议,放弃使用Statment,使用它子类PreparedStatement。
      

  13.   

    动态编译的问题楼是说的也很清楚了,我以前也遇到过这个问题,而且自己还尝试了很多个认为构造的参数传给动态编译的语句中,其结果是很多使用这种方式进行登录验证的系统都经不住这样的测试,都是直接进系统了,从那以后我都改成预编译了PreparedStatement在匹配参数?时是可以过滤掉单引号的。个人感觉是这样的
      

  14.   

    name是field吗? 预编译是C的玩意了,就是再有优点也都成缺点了。 你所谓的动态编译是一个什么样的东西?我不知道你说得是不是像Java最新版本中提供的在运行中可以调用JDK组建的功能? 
    类似的,.Net平台有API可以控制编译本身的SDK。 
      

  15.   

    楼主的意思是不是要查询出一个表中某个字段的重复的所有记录呢
    select * from table where num in
    (
    select max(num) from table 
    group by name
    )第二个问题我就不知道了