Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列出包含BETHEN和like语句的注册表时遇到问题_Java_Mysql_Swing_Netbeans_Between - Fatal编程技术网

Java 列出包含BETHEN和like语句的注册表时遇到问题

Java 列出包含BETHEN和like语句的注册表时遇到问题,java,mysql,swing,netbeans,between,Java,Mysql,Swing,Netbeans,Between,我有一个数据库搜索应用程序,它可以实际查找两个值之间的注册表,过滤器与本例中的过滤器类似: String sql ="SELECT * FROM Registries\n"+ "AND Registries.Registry\n"+ "BETWEEN '"+concatCode1+"'\n"+ "AND '"+concatCode2+"'"; 其中concatCode1是例如:15C9999 其中15是年份,C是注册表

我有一个数据库搜索应用程序,它可以实际查找两个值之间的注册表,过滤器与本例中的过滤器类似:

String sql ="SELECT * FROM   Registries\n"+
            "AND Registries.Registry\n"+
            "BETWEEN '"+concatCode1+"'\n"+
            "AND '"+concatCode2+"'";
其中concatCode1是例如:15C9999

其中15是年份,C是注册表类型,9999是该注册表的编号

所以它工作得很好,除非concatCode1和concatCode2短一些,比如15C100和15C250。该程序将从以下列表中列出:

15C10000代替15C00100,15C25000代替15C00250

此外,还有另一个参数,用于区分年份和数字之间是否有字母(可以是->C、B、M、D、a),或在MySQL中用于包含所有字符的“\”(不带引号),例如,具有以下值:

String sql ="SELECT * FROM   Registries\n"+
            "AND Registries.Registry\n"+
            "LIKE 15_9999"; 
应该是清单15A9999、15B9999、15C9999、15D9999、15M9999

因此,我需要的是能够使用Between语句列出每种注册表,并模拟statemen的功能,例如,因为我不能在查询中使用Between

编辑: 我试着这样做:

"BETWEEN '"+codeYear1+codeTestType+"LPAD('"+code1+"' ,5 ,'0')'\n"+                                
"AND '"+codeYear2+codeTestType+"LPAD('"+code2+"' ,5 ,'0')'";

在“+code2+”,5,'0')上抛出MysqlError

您可以用反斜杠“\\”来摆脱下划线小丑:要解决这个问题,您需要分解代码的不同部分。有时,您试图像处理数字数据一样处理字符数据,有时则像处理其他字符数据一样处理字符数据。因此,取左边的3个字符,然后取剩余的0个字符。对于哪5个位置?我正在这样尝试:在“+codeYear1+codeTestType+”LPAD(“+code1+”,5,'0')”和“+codeYear2+codeTestType+”LPAD(“+code2+”,5,'0')”之间;在“+code2+”上抛出MysqlError,5,'0')