【问题标题】:C#: MySQL Connectiostring and SqlCommand didnt accept Keyword PortC#:MySQL 连接字符串和 SqlCommand 不接受关键字端口
【发布时间】:2015-10-21 17:51:35
【问题描述】:

我试图用这个连接字符串做一些声明,但 SqlCommand 不接受关键字“端口”,我的 MySql 没有使用默认端口,所以我需要这个来连接。有人可以帮我吗?

SqlConnection cnn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MySQLConnectionExterno"].ConnectionString);

SqlCommand command = new SqlCommand("select * from DOADOR where idDOADOR =" + 2 + "", cnn);
try
{
    cnn.Open();
    lblStatus.Text = "Connection Open !";
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        lbNome.Text = reader["nome"].ToString();
    }
    cnn.Close();
}
catch (Exception ex)
{
    lblStatus.Text = "Can not open connection !";
}

这是连接字符串,我用“XXXX”更改了信息。

<connectionStrings>
    <add name="MySQLConnectionExterno" connectionString="Server=XXXXX.com;Port=41890;user id=XXXXX;password=XXXXX;persist security info=True;database=XXXXXX" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>

【问题讨论】:

  • 查看这一行:SqlCommand command = new SqlCommand("select * from DOADOR where idDOADOR =" + 2 + "", cnn);。虽然本身没问题,但它让我想知道您是否通常使用正确的参数化查询,或者您是否编写了非常不安全的代码。没有中间立场。

标签: c# mysql port


【解决方案1】:

您需要下载 MySql 连接器并使用该库而不是 SqlClient 库。您可以下载连接器from here

然后,您需要安装它,将MySql.Data.dll 添加到您的项目引用中,并将适当的 using 指令添加到源文件的顶部。

using MySql.Data.MySqlClient;

在这之后你可以使用MySql客户端类和MySqlConnection理解连接字符串中的Port关键字

MySqlConnection cnn = new MySqlConnection(......)
....
MySqlCommand command = new MySqlCommand(.....)
....
MySqlDataReader reader = command.ExecuteReader();

【讨论】:

  • 谢谢,我已经尝试过了,但没有使用 MySqlDataReader,我的错误 kkkk。
猜你喜欢
  • 2023-03-27
  • 2014-10-28
  • 2014-03-31
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2011-08-02
  • 2016-04-26
  • 2022-09-30
相关资源
最近更新 更多