( -- 这是一个关于如何使用MySQL Connector查询MySQL数据库的小教程。 -- 本教程假设您已经设置了MySQL服务器,安装了MySQL Connector(可在MySQL官网找到),并且具有SQL的基本知识。 -- 我将在不久的将来创建一个更易于使用的封装。 -- 祝您愉快。 -- Ofer Zelichover(www.oferz.com)2008-03-08 --ySQL Connector下载链接:https://www.mysql.com/products/connector 下载时选择.net版本就行,一路默认安装即可 -- 首先加载dotNet程序集。确保字符串指向安装了MySQL Connector DLL文件的位置。 dotNet.loadAssembly "C:\\Program Files (x86)\\MySQL\\MySQL Connector NET 8.2.0\\MySql.Data.dll" -- 现在定义连接参数。 local host = "localhost" -- MySQL服务器的名称 local database = "test" -- 要使用的数据库的名称 local user = "test" -- 要使用的用户名 local password = "test" -- 要使用的密码 -- 构建连接字符串 local connectionString = "Database=" + database + ";Data Source=" + host + ";User Id=" + user + ";Password=" + password -- 创建连接对象 local DBConnection = dotNetObject "MySql.Data.MySqlClient.MySqlConnection" -- 使用连接字符串设置连接参数。 DBConnection.ConnectionString = connectionString -- 打开数据库连接 DBConnection.open() -- 打印连接状态:1 - 已连接;0 - 未连接。 print DBConnection.state.value__ -- 添加两行新记录 local cmdObject = DBConnection.CreateCommand() cmdObject.commandText = "INSERT INTO test_table (`name`, `phone`) VALUES ('另一个名字','1234567890'), ('又一个名字','2468101214')" local readerObject = cmdObject.ExecuteReader() -- 打印受影响的行数 format "添加了 % 行\n" readerObject.RecordsAffected readerObject.close() -- 更改表中第二行的值: local cmdObject = DBConnection.CreateCommand() cmdObject.commandText = "UPDATE test_table tt SET tt.name='修改后的名字', tt.phone=78978979 WHERE tt.id=2" local readerObject = cmdObject.ExecuteReader() -- 打印受影响的行数 format "修改了 % 行\n" readerObject.RecordsAffected readerObject.close() -- 查询数据库: -- 首先创建一个命令对象。该对象用于将查询发送到数据库。 local cmdObject = DBConnection.CreateCommand() -- 定义要执行的SQL查询: cmdObject.commandText = "SELECT * FROM test_table tt" -- 然后执行命令以创建读取器对象。 local readerObject = cmdObject.ExecuteReader() -- 打印结果中的字段名: for i = 0 to (readerObject.FieldCount - 1) do print (readerObject.getName i) -- 打印结果: -- readerObject.read()方法将读取器对象中的记录移至下一条记录。 while readerObject.read() do ( local record = readerObject.item -- 现在打印记录的值。这假设您知道字段名: format "%\t%\t%\n" record["id"] record["name"] record["phone"] -- 如果不想使用显式字段名,还有另一种选择: for i = 0 to (readerObject.FieldCount - 1) do format "%\t" record[i] format "\n" ) -- 关闭读取器对象 readerObject.close() -- 关闭连接 DBConnection.close() )