gpt4 book ai didi

java - ResultSet 的 getString() 方法是否可以用于从 MySQL 表中获取 TEXT 类型列的值?

转载 作者:行者123 更新时间:2023-11-28 23:12:57 26 4
gpt4 key购买 nike

我正在尝试从 MySQL 数据库的表中检索 TEXT 字段的值。MySQL版本是5.6.21& 我正在使用 mysql-connector-java-5.1.18-bin.jar

我的文件如下

import java.sql.*;

public class DatabaseConnection {

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/book";

// database credentials
static final String USER = "username";
static final String PASS = "password";

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {

Class.forName("com.mysql.jdbc.Driver");

System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);

System.out.println("Creating statement...");
stmt = conn.createStatement();
String query;
query = "Select b_name, description columns from brands";
ResultSet rs = stmt.executeQuery(query);

while(rs.next()) {

String first_name = rs.getString("b_name");
String description = rs.getString("description");

System.out.println(first_name);
System.out.println(description);
}

rs.close();
stmt.close();
conn.close();
} catch(SQLException se) {
se.printStackTrace();
} catch(ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
finally{
//finally block used to close resources
try{
if(stmt!=null)
stmt.close();
} catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.close();
} catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}
}

虽然我已经在另一个表上尝试过,但它表示我的列不存在,它适用于 VARCHAR 列但不适用于 TEXT 列

出现此错误:

但表中有一列名为 description:

最佳答案

问题不在于列类型是文本。您可以使用 getString 获取 TEXT 类型的值。您可以在 documentation 中验证.

问题出在查询中:

query = "Select b_name, description columns from brands";

“列”有错误。这样写,description 列实际上在您的结果集中重命名为 columns。如果您执行了 rs.getString("columns"),您将获得该值。但这不是您想要做的。你想通过删除那个词来修复查询:

query = "Select b_name, description from brands";

关于java - ResultSet 的 getString() 方法是否可以用于从 MySQL 表中获取 TEXT 类型列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45125244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com