3

我的任务是为旧网站创建一个新的前端。

它是用 php (pre-oo) 编写的,并使用 MySQL 数据库。主机提供了一个 .Net 包,但不提供 Ms Sql Server。

这很好,因为数据库工作正常,但我真的想使用 Asp.net 来处理页面。但是,我看到的大多数关于从 C# 连接到 MySQL 的教程都需要安装专门用于 MySQL 的 ODBC 驱动程序。不控制托管环境,我怀疑我能做到这一点:)

你有什么见解可以分享这个问题吗?

4

2 回答 2

9

MySql 确实有.Net 的连接器。您不需要使用 ODBC,

MySql 连接器将让您与您的 MySql 数据库进行交互,并且是完全托管的 ADO.Net 提供程序。如果您愿意,您可以拥有二进制文件 (dll) 或源代码。这很简单,一旦你导入了 dll,你只需要一个连接字符串(用户名、密码、位置)就可以设置好了!

这是一个代码示例(参考:bitdaddy.com):

string MyConString = "SERVER=localhost;" +
    "DATABASE=mydatabase;" +
    "UID=testuser;" +
    "PASSWORD=testpassword;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select * from mycustomers";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
    string thisrow = "";
    for (int i= 0;i<Reader.FieldCount;i++)
            thisrow+=Reader.GetValue(i).ToString() + ",";
    listBox1.Items.Add(thisrow);
}
connection.Close();

我建议你不要把你的代码和持久性放在同一个地方,把你的连接字符串放在你的 App.Config 中,但我认为这会告诉你如何去做。

于 2008-12-11T16:12:01.783 回答
0

同意 Patrick Desjardins 的观点,并且想补充一下与 MySQL 交互的最简单方法是

  1. 获取.Net v6.0 的 MySQL 连接器- 这支持 实体框架
  2. 使用 ADO.Net 实体模型创建数据模型层以与数据库交互

或者

您还可以查看Linq to MySQL 提供程序的实现——它非常好。

当我有类似的要求时,我选择了前一个选项。

于 2009-05-11T14:53:36.013 回答