【问题标题】:I need to run query "USE database", everytime i call a new function每次调用新函数时,我都需要运行查询“USE database”
【发布时间】:2019-05-18 08:53:32
【问题描述】:

每次我调用一个新函数时都会显示一个错误

“未选择数据库”。

以前不是这样,我只需要拨打"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;

【问题讨论】:

    标签: java mysql database jdbc


    【解决方案1】:

    尝试为您的 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{
      .....
    

    【讨论】:

    猜你喜欢
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    相关资源
    最近更新 更多