java.sql.SQLException:列“Name”的值超出范围:值Finn
我的Debian 10服务器上有一个Java服务器套接字。 我想读我的Mariadb数据库,但它不太好用 这是我的命令: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];
...
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]真的是字符串吗?