Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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.sql.SQLException:列“Name”的值超出范围:值Finn_Java_Mysql_Sockets_Mariadb_Serversocket - Fatal编程技术网

java.sql.SQLException:列“Name”的值超出范围:值Finn

java.sql.SQLException:列“Name”的值超出范围:值Finn,java,mysql,sockets,mariadb,serversocket,Java,Mysql,Sockets,Mariadb,Serversocket,我的Debian 10服务器上有一个Java服务器套接字。 我想读我的Mariadb数据库,但它不太好用 这是我的命令: ... ResultSet rs=stmt.executeQuery("SELECT " + cCommand[1] +" FROM User WHERE Username = " + cCmdUserData[0] + ";"); ... 它以SQL格式发送以下代码: SELECT [Row] FROM User WHERE Username = [Username];

我的Debian 10服务器上有一个Java服务器套接字。 我想读我的Mariadb数据库,但它不太好用

这是我的命令:

...
ResultSet rs=stmt.executeQuery("SELECT " + cCommand[1] +" FROM User WHERE Username = " + cCmdUserData[0] + ";");
...
它以SQL格式发送以下代码:

SELECT [Row] FROM User WHERE Username = [Username];
我得到一个错误,但该错误包含我想要得到的答案:

java.sql.SQLException:列“Name”的值超出范围:值Finn

从用户名为'finn737'的用户中选择名称

在控制台中,它可以完美地工作,但在Java中却不能


有人能帮我吗?

您需要引用字符串:WHERE Username='+cCmdUserData[0]+';您应该考虑使用准备好的语句,它可以提供更好的性能和安全性,同时也可以防止此类错误。这可能发生在列的数据类型和输入数据不匹配的情况下。cCmdUserData[0]真的是字符串吗?