每次我调用新函数时,都会显示错误
“未选择数据库”。
以前不是这种情况,我只需要打一次"USE database"
。
我已将 DriverManager 替换为 MySqlDataSource。
我在程序开始时通过调用InitializeData()运行"USE database"
查询。
public class Database {
public static MysqlDataSource dataSource;
static void InitializeData()
{
dataSource = new MysqlDataSource();
dataSource.setUser("root");
dataSource.setPassword("zxcvbnm@123");
try{
Connection con = Main.getConnection();
Statement existence = con.createStatement();
boolean q1 = existence.execute("CREATE DATABASE IF NOT EXISTS votingdata");
Statement st = con.createStatement();
st.execute("USE votingdata");
...........................................continue.........
这是Main.getConnection()函数
public static Connection getConnection(){
Connection con=null;
try {
con = Database.dataSource.getConnection();
}
catch(SQLException e){
System.out.print("Connection lost "+e.getMessage());
}
return con;
答案 0 :(得分:0)
尝试为您的dbname添加适当的设置
dataSource.setDatabaseName("YOUR_DB__NAME");
-
static void InitializeData()
{
dataSource = new MysqlDataSource();
dataSource.setUser("root");
dataSource.setPassword("zxcvbnm@123");
dataSource.setDatabaseName("YOUR_DB__NAME");
try{
.....