java resultset 获取枚举型数据
mysql数据库中有枚举型的数据,那么resultset有没有哪个方法可以获取到枚举型数据的值?...
mysql数据库中有枚举型的数据,那么resultset有没有哪个方法可以获取到枚举型数据的值?
展开
展开全部
楼上的。。mysql里有这种类型,是一种字符串类数据列类型
ENUM('value1','value2',...) 65535个成员 1或2字节
但是用的比较少。。。
你得写程序自己处理下,大概是下边这样
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EnumTesting {
Connection connection;
Statement statement;
public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");
rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];
while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);
position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}
rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
ENUM('value1','value2',...) 65535个成员 1或2字节
但是用的比较少。。。
你得写程序自己处理下,大概是下边这样
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EnumTesting {
Connection connection;
Statement statement;
public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");
rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];
while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);
position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}
rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
展开全部
如下面所示。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EnumTesting {
Connection connection;
Statement statement;
public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");
rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];
while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);
position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}
rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EnumTesting {
Connection connection;
Statement statement;
public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");
rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];
while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);
position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}
rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库中枚举类型的数据长什么样。。。。
没见过。。。
没见过。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询