我的任务是为旧网站创建一个新的前端。
它是用 php (pre-oo) 编写的,并使用 MySQL 数据库。主机提供了一个 .Net 包,但不提供 Ms Sql Server。
这很好,因为数据库工作正常,但我真的想使用 Asp.net 来处理页面。但是,我看到的大多数关于从 C# 连接到 MySQL 的教程都需要安装专门用于 MySQL 的 ODBC 驱动程序。不控制托管环境,我怀疑我能做到这一点:)
你有什么见解可以分享这个问题吗?
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 中,但我认为这会告诉你如何去做。
同意 Patrick Desjardins 的观点,并且想补充一下与 MySQL 交互的最简单方法是
或者
您还可以查看Linq to MySQL 提供程序的实现——它非常好。
当我有类似的要求时,我选择了前一个选项。