Files
tools/接口/服务器数据库接口/sql.ms
T
2025-07-31 16:05:55 +08:00

81 lines
2.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(
-- 这是一个关于如何使用MySQL Connector查询MySQL数据库的小教程。
-- 本教程假设您已经设置了MySQL服务器,安装了MySQL Connector(可在MySQL官网找到),并且具有SQL的基本知识。
-- 我将在不久的将来创建一个更易于使用的封装。
-- 祝您愉快。
-- Ofer Zelichoverwww.oferz.com2008-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()
)