我正在尝试在 Visual Studio 2010 中开发一个 ASP.NET 项目,该项目将可以访问位于本地服务器上的 MySQL 数据库。
我已经使用 Web 平台安装程序安装了 MySQL 5.1 和 NET Connector for MySQL。我正在使用安装了 .NET 4.5 的 Microsoft Visual Studio 2010 Ultimate(版本 10 - SP1)。我在我的项目中添加了对 MySQL.Data、MySQL.Web 和 MySQL.Data.Entity 的引用。
我面临以下问题。
尝试在我的 ASPX 页面中链接 MySQL 对象时,无法访问 MySQL 库。意思是当我尝试输入 .. MySQL .. 智能感知没有接收到它。似乎 MySQL 库根本没有添加到项目中,而我可以在我的参考资料中看到它。因此,我无法在 ASPX 页面中创建 MySQL 对象。
我想把我的一些通用代码放在一个类中(例如 ComCode.vb)。有人告诉我,我必须将该 ComCode.vb 文件放在 App_Code 文件夹中。默认情况下我没有看到 App_Code 文件夹,所以我手动创建了一个文件夹。(我也没有在 Add>Add ASP.NET Folder 菜单中看到 App_Code 文件夹)。该文件夹有一个特殊的图标,我猜是项目捡到了它。当我将 ComCode.vb 类文件放入其中时,智能感知不起作用。它将其视为未格式化的原始文本文件。我在网上搜索,发现我必须将类文件的Build Action从Content更改为Compile。这样可行。但是给我带来了新的问题。
我将我的 MySQL 代码从 ASPX 文件转移到 Class 文件。现在由于一些奇怪的原因,Visual Studio 可以识别 MySQL 对象。现在它记得我的项目引用了 MySQL 库。但是当它们在 ASPX 代码中时,它不能识别对象。我什至尝试导入命名空间,但由于它无法识别库,因此导入也无法正常工作。
无论如何,现在 MySQL 在类文件中工作。我可以在 ASPX 页面中创建一个新的类实例并调用我的函数来连接和打开 MySQL 数据库。但现在有一个新问题。当网页在 IIS Express 7.5 服务器上运行时,它给了我以下错误:
未定义类型“MySqlConnection”。
此行给出此错误:Public objConnection As MySqlConnection
我的 ComCode.vb 中的代码:
Imports MySql.Data.MySqlClient
Imports MySql.Data
Public Class farazdb
Public objConnection As MySqlConnection
Public Function Connect() As Boolean
Dim conStr As String
Dim config As NameValueCollection = ConfigurationManager.GetSection("appSettings")
conStr = config("ODBCConnection")
Try
objConnection = New MySqlConnection(conStr)
objConnection.Open()
Catch ex As MySqlException
Return ex.Message.ToString()
End Try
Return True
End Function
End Class
我在 Web.config 中添加了以下行:
<appSettings >
<add key="ODBCConnection" value="Server=localhost; Database=mydb; uid=xxxx; password=xxxx;"/>
</appSettings>
我真的不知道这里发生了什么。该怎么办?任何帮助表示赞赏。
问候
法拉兹