JDBC比较

时间:2015-01-22 14:22:35

标签: java mysql jdbc

这是我的代码:

            //Section 5, Execute Query
            asking = conn.createStatement();
            String Sql = "SELECT * FROM exercise4a";
            ResultSet rs = asking.executeQuery(Sql);

            //Section 6, Option 2
            //if(rs.isBeforeFirst())
            //{
                rs.next();
                int numRows = rs.getRow();

                String name = rs.getString("FirstName");
                for(int i = 0; i < numRows; i++)
                {
                    rs.next();
                    name = rs.getString("FirstName");
                    System.out.println("Test1");
                    System.out.println("Test1" + name);
                    if(name.equals(fName))
                    {
                        System.out.println("Test2");
                    }
                    else
                    {
                        rs.next();

我遇到的问题是将输入字符串(fName)与数据库列(FirstName)进行比较。对于这个项目,我无法以任何方式修改表。 FirstName的架构是VARCHAR(50)。

如何将scanner String与VARCHAR进行比较并返回输出?

System.out.println(“Test2);是一个占位符,用于根据FirstName列打印注释。

1 个答案:

答案 0 :(得分:1)

替换

if(name.equals(fName))

if(name.trim().equalsIgnoreCase(fName.trim()))

trim()函数从String值中删除任何前导/尾随空格。然后,equals()更改为equalsIgnoreCase(),正如您猜测的那样,检查String值是否相同,而不比较大小写。