尝试查询数据库时收到错误“未选择数据库”[关闭]

Posted

技术标签:

【中文标题】尝试查询数据库时收到错误“未选择数据库”[关闭]【英文标题】:Receiving error "no database selected" when trying to query DB [closed] 【发布时间】:2015-08-13 17:08:53 【问题描述】:

我是一所职业高中的学生,我还是编程新手,我有一个使用 c# 创建应用程序的任务,我在连接 3 个表以在 datagridview 上显示时遇到问题。 我已经在 mysql 上尝试过查询,它工作得很好,但是当我在我的 c# 代码行中应用它时它没有工作,它显示“没有选择数据库”,有人可以帮我解决这个问题,这是我的完整代码

string constring = "datasource=localhost;port=3306;username=root;password=root";
        MySqlConnection conDataBase = new MySqlConnection(constring);
        MySqlCommand cmdDataBase = new MySqlCommand("select book_detail.id_bookdetail, location.location_id, location.location_name, book.book_id, book.title from location inner join book_detail on location.location_id = book_detail.location_id inner join book on book_detail.book_id = book.book_id; ", conDataBase);
        try
        
            MySqlDataAdapter sda = new MySqlDataAdapter();
            sda.SelectCommand = cmdDataBase;
            DataTable dbdataset = new DataTable();
            sda.Fill(dbdataset);
            BindingSource bSource = new BindingSource();

            bSource.DataSource = dbdataset;
            transfer_view.DataSource = bSource;
            sda.Update(dbdataset);
        
        catch (Exception ex)
        
            MessageBox.Show(ex.Message);
        

【问题讨论】:

您还需要将数据库名称添加到连接字符串中。查看connection-strings.com 了解更多信息。顺便说一句,代码看起来很棒——对于初学者来说绝对是一流的。继续努力! 啊......它的工作原理!!!!谢谢,:) 【参考方案1】:

做一个“使用 mydbname”

也许它是你没有提供的先前字符串中的最后一个可选参数

可以执行“select database()”来显示当前正在使用的数据库

【讨论】:

【参考方案2】:

您的连接字符串应该指定一个数据库名称:

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
                       ^^^^^^^^^^^^^^^^^^^

(3306端口是MySql的默认端口)

参考。 MySQL connection strings

【讨论】:

感谢...您的帮助,非常感谢,:)

以上是关于尝试查询数据库时收到错误“未选择数据库”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

插入时多个数据库触发器

错误 1046 未选择数据库,如何解决?

错误 1046 未选择数据库,如何解决?

#1046 - 未选择数据库

在 phpMyAdmin 中导入时“未选择数据库”

我正在尝试在用户键入时查询 firebase 数据库,但我不断收到此错误