用ODBC连接MySQL和ASP.NET_MySQL
ODBC
被认为是“世界上最流行的开放源代码数据库”的MySQL从最初一个毫不起眼的低成本数据库服务器成长为驱动庞大Web网站和重要商业系统的服务器经历了一个漫长的历程。但是,如果你是一位ASP.NET的开发人员,那么你总会碰到一个不如意的地方:MySQL原先是为UNIX平台上的应用程序设计的,所以对Windows的支持处于次要地位。
但是现在,Windows版本的MySQL已经具备了与UNIX版本同样的特性和稳定性,而且它被认为是用于Windows开发的可行的数据库服务器。现在让我们来看看你可以如何使用ODBC在.NET框架内连接MySQL数据库。
安装
下载和安装Windows版的MySQL。安装很简单——只用按照提示你就能够立即安装好并开始运行了。如果碰到了问题,可以去MySQL的论坛看看,寻求帮助和解决方法。
要把ASP.NET和MySQL连接起来,你需要使用ODBC.NET。一般来说,ODBC.NET的DataProvider是标准的.NET框架(1.1及以上的版本)的一部分,所以会和后者一起自动安装好。
一旦确认ODBC.NET安装完毕,你就需要下载用于MySQL的ODBC驱动程序。再强调一遍,MySQL的开发人员都很乐意提供帮助——他们都在自己的Web网站上提供了这些驱动程序。在下载文件的时候你可以看看FAQ文档,它会列出在往系统里安装MySQL ODBC驱动程序期间可能碰到的所有的问题。
都做好了?现在就让我们从一些代码开始吧。
用ASP.NET连接MySQL
我最喜欢做的一件事情是阅读,而且当我没有编写像本文一样的教学文章时,我会找一个安静的角落补全参考书目表。不幸的是,我不是一个组织性很强的人,所以这常常搞得一团糟。
那这又与我们今天要谈的话题有什么关系呢?嗯,这是我第一个例子的开场白,这个例子就是创建一个像列表A里的书籍的数据库。
要建立这个表格,就要使用下面的SQL查询:
CREATE TABLE `books` (
`id` int(5) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`authors` varchar(255) NOT NULL default '',
`year_of_publication` year(4) NOT NULL default '0000',
`date_added` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
而要执行这个查询,就要使用MySQL安装目录下的“bin”文件夹的命令行客户端软件“mysql.exe”。下面就是具体命令:
c:\mysql\bin>mysql -u guest -p test
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 4.0.12-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE TABLE `books` (
-> `id` int(5) NOT NULL auto_increment,
-> `title` varchar(255) NOT NULL default '',
-> `authors` varchar(255) NOT NULL default '',
-> `year_of_publication` year(4) NOT NULL default '0000',
-> `date_added` date NOT NULL default '0000-00-00',
-> PRIMARY KEY (`id`)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.02 sec)
一旦“书籍(books)”表格创建好了,就可以开始插入数据了。列表B里列举了一些项目。现在,用ASP.NET做同样的事情——执行SELECT查询(列表C)并在浏览器里显示结果。如果一切都没有问题——MySQL服务器在运行,MySQL ODBC驱动程序安装正确,“书籍”表格含有数据——你就应该会看到像图A里的页面。

现在让我们来更加仔细地看看代码列表。所有东西一开始都要调入所需要的.NET库。由于我正在使用ODBC.NET连接MySQL服务器,所以需要调用System.Data.Odbc和System.Data程序集。一旦程序集调用完毕,就要定义连接字符串,这包括修改服务器(Server)、数据库(Database)、uid和pwd变量以体现本地服务器的设置。
在创建了OdbcConnection()和OdbcCommand()对象之后,初始化本地的OdbcDataReader()对象,从“书籍”表格取回数据。这个对象提供了一条ExecuteReader()命令来执行SQL查询。剩下的就是例行公事了:将OdbcDataReader()指定为dbgooks DataGrid的数据源,并调用DataGrid()对象的DataBind()方法将两者绑定起来。
当然,你可以对数据库做更多的事情——向表格里插入(INSERT)数据、使用更新(UPDATE)修改它们、用删除(DELETE)命令获得记录的网格,或者就根据WHERE语句里面的条件选择子集。
异常的处理
现在让我们来看一些异常的处理(列表D)方法,以对付程序员经常碰到的一些无法预见的状况。正如你会注意到的,列表D使用了嵌套try-catch结构来提供多级别的错误处理。下面列出来的一段代码应该有助于你更好地理解它:
}%>
现在首先让我们看看里层的“try-catch”结构。这个结构用来处理创建OdbcCommand()或者OdbcDataReader()对象的实例时可能发生的错误。如果数据库里不存在“书籍”表格,就有可能发生这样的错误。如果发生了这样的错误,“catch”部分就会发出一个新的Exception()。里层的“try-catch”结构的“finally”块然后就会在脚本进一步执行之前关闭OdbcConnection()对象。
动作然后就转到外层的“try-catch”结构。外层的结构能够处理两种类型的异常——OdbcException()或者是一般的Exception()。前者在由于某种原因无法打开到数据库服务器的连接或者脚本无法将OdbcConnection()对象实例化的时候产生,而后者用来处理内层“try-catch”结构所产生的异常。无论发生两种情况中的哪一种,都会有一个ASP.NET标签服务器控件向用户显示相应的错误消息。
图B向你显示,当脚本尝试连接到一个不存在的数据库服务器时所发生的事情(这个由外层的“try-catch”结构来处理)。

图C向你显示的错误信息会在脚本尝试访问一个不存在的数据库表格时出现(要注意,内层“try-catch”结构产生的异常会由外层结构来处理):

以上就是关于如何使用MySQL和ASP.NET的DataGrid服务器控件的介绍。关于你可以如何使用这两种技术还有更多的内容可谈;所以我希望本文和上面提供的其他参考资源能够帮助你对此有个初步的了解。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

La sauvegarde et la restauration d'une base de données MySQL en PHP peuvent être réalisées en suivant ces étapes : Sauvegarder la base de données : Utilisez la commande mysqldump pour vider la base de données dans un fichier SQL. Restaurer la base de données : utilisez la commande mysql pour restaurer la base de données à partir de fichiers SQL.

Les performances des requêtes MySQL peuvent être optimisées en créant des index qui réduisent le temps de recherche d'une complexité linéaire à une complexité logarithmique. Utilisez PreparedStatements pour empêcher l’injection SQL et améliorer les performances des requêtes. Limitez les résultats des requêtes et réduisez la quantité de données traitées par le serveur. Optimisez les requêtes de jointure, notamment en utilisant des types de jointure appropriés, en créant des index et en envisageant l'utilisation de sous-requêtes. Analyser les requêtes pour identifier les goulots d'étranglement ; utiliser la mise en cache pour réduire la charge de la base de données ; optimiser le code PHP afin de minimiser les frais généraux.

Comment insérer des données dans une table MySQL ? Connectez-vous à la base de données : utilisez mysqli pour établir une connexion à la base de données. Préparez la requête SQL : Écrivez une instruction INSERT pour spécifier les colonnes et les valeurs à insérer. Exécuter la requête : utilisez la méthode query() pour exécuter la requête d'insertion en cas de succès, un message de confirmation sera généré.

La création d'une table MySQL à l'aide de PHP nécessite les étapes suivantes : Connectez-vous à la base de données. Créez la base de données si elle n'existe pas. Sélectionnez une base de données. Créer un tableau. Exécutez la requête. Fermez la connexion.

Pour utiliser les procédures stockées MySQL en PHP : Utilisez PDO ou l'extension MySQLi pour vous connecter à une base de données MySQL. Préparez l'instruction pour appeler la procédure stockée. Exécutez la procédure stockée. Traitez le jeu de résultats (si la procédure stockée renvoie des résultats). Fermez la connexion à la base de données.

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())
