2

我正在尝试使用此方法从 Wampserver 读取表,但我收到一条错误消息“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。验证实例名称正确,并且 SQL Server 配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)“

当我 ping localhost 时,所有 ping 都会收到。这段代码正确吗?

    private void button5_Click(object sender, EventArgs e)
    {

        SqlConnection myConnection = new SqlConnection("user id=root;" +
                                   "password=pass;server=localhost;" +
                                   "database=database; " +
                                   "connection timeout=10");

        string query = "select * from table";

        SqlCommand cmd = new SqlCommand(query, myConnection);
        myConnection.Open(); // the error


        SqlDataAdapter da = new SqlDataAdapter(cmd);

        da.Fill(tabelsql);
        myConnection.Close();
        da.Dispose();
    }
4

3 回答 3

2

如果您使用的是 WampServer,那意味着您使用的是 MySQL,对吧?

MySQLSQL Server不一样。SQLConnection,SQLCommandSQLDataAdapter用于连接到SQL Server(来自 Microsoft 的 RDBMS),而不是MySQL

要从 .NET 访问 MySQL 数据库,您可以使用MySQL 连接器

于 2012-11-28T22:26:34.397 回答
1

SqlCommand 和 SqlDataAdapter 是 MS SQL ADO.NET 本机客户端的一部分,只能用于 MS Sql Server。WAMP 似乎包括 MySql。为此,您可能需要使用此处找到的 MySql ADO.NET 驱动程序。本文提供了一些使用 DataReader 读取 MySql 数据的示例代码 。

于 2012-11-28T22:30:21.503 回答
1

从 wamp 服务器中的 MySql 数据库中读取单个表。如果 wamp-server 在 localhost 中,那么,

Add reference ..

using MySql.Data.MySqlClient;

And after this..
write below public partial class this connection query..

MySqlConnection cn = new        
MySqlConnection
("server=localhost;database=database;userid=root;password=;charsetutf8;");

write this GetData() in your form load event or below InitializeComponent...

private void GetData()
    {
        cn.Open();
        MySqlDataAdapter adp = new MySqlDataAdapter("SELECT * from                                      
        tablename", cn);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        dataGridViewName.DataSource = dt;
        adp.Dispose();
        cn.Close();
    }
于 2015-09-19T06:25:44.623 回答