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