sqlStr = "select * from BookAdmin where adminuser = '" +
                            dataFormat.toSql(username) + "' and adminpass = '" +
                            dataFormat.toSql(passwd) + "'";
我不明白是什么意思这是dataFormat类中的tosql静态方法 dataformat是字符处理类
public static String toSql(String str) {
        String sql = new String(str);
        return strReplace(sql, "'", "''");

解决方案 »

  1.   

    (adminuser =  '") 中的是什么意思
      

  2.   

     sqlStr = "select * from BookAdmin where adminuser =  '" + 
                                dataFormat.toSql(username) + " ' and adminpass =  '" + 
                                dataFormat.toSql(passwd) + " '"; 
    我不明白是什么意思 这是dataFormat类中的tosql静态方法 dataformat是字符处理类 
    public static String toSql(String str) { 
            String sql = new String(str); 
            return strReplace(sql, " '", " ' '"); 这个toSql(string str)函数实现的功能是把字符串里面的单引号(')全部替换成两个单引号(''),
    如将'aaa'替换成''aaa''返回。
    上面把sqlStr这个sql语句里面的username和passwd两个变量的值进行替换的目的,看题目应该是为了防止SQL注入的。
    楼主若还是不明白,可以看看防止SQL注入这方面的知识
      

  3.   

    这个是最基本的拼接字符串
    sqlStr = "select * from BookAdmin where adminuser =   '" +  
                                dataFormat.toSql(username) + "  ' and adminpass =   '" +  
                                dataFormat.toSql(passwd) + "  '";  
      

  4.   

    就是把变量和字符串连接起来时,就需要进行字符串拼接:
    例如我现在把变量a的值传到一句SQL语句里面:
    string sql="select * from tablename where id=" + a;
    类似这样的。。
      

  5.   

    上面就是将"select * from tablename where id="这个字符串和变量a合成一个字符串赋给变量sql.
    如果a的值为2,那么这时候sql="select * from tablename where id=2"就是这样一个字符串```
    汗。这个东西太基本了。我不知道怎么讲了。。呵呵```
    另外,结贴就是点帖子最上面的“管理帖子”,然后操作就行了``
      

  6.   

    是啊 ,是啊
    语句要是在数据库里写,--查询所有信息
    select * from Bookadmin where adminuser='登录的用户名'
    adminpass='登录的密码'你在页面下写的话,就要用string sql = 拼串
    dataFormat.toSql(username) 应该是你程序对用户名的处理
    转换你的串或提高安全的一个方法吧