This commit is contained in:
Administrator committed 2026-05-19 01:34:31 +08:00
commit 84b14491e2
4 files changed
+74 -16

No files matched your search

+47
View File
@@ -2,6 +2,7 @@
using Microsoft.Data.SqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Windows.Controls;
using System.Windows.Input;
@@ -70,6 +71,52 @@ namespace SunlightAggregationManager.UserClass
});
}
public async Task<DataTable> ExecuteQueryAsync(string sql)
{
// 创建一个空的 DataTable 用于存放查询结果
DataTable dataTable = new DataTable();
// 沿用你原有的数据库连接字符串构建逻辑
var builder = new SqlConnectionStringBuilder
{
DataSource = DB_IP,
InitialCatalog = DB_NAME,
IntegratedSecurity = DB_TYPE == "Windows Authentication",
TrustServerCertificate = true,
ConnectTimeout = 5
};
if (!builder.IntegratedSecurity)
{
builder.UserID = DB_ID;
builder.Password = DB_PASSWORD;
}
try
{
using var conn = new SqlConnection(builder.ConnectionString);
await conn.OpenAsync(); // 使用异步方式打开连接<websource>source_group_web_2</websource>
using (var cmd = new SqlCommand(sql, conn))
{
// 执行查询并将结果直接加载到 DataTable 中
using (var reader = await cmd.ExecuteReaderAsync())
{
dataTable.Load(reader);
}
}
}
catch (Exception ex)
{
Console.WriteLine("DataBase Query failed\n" + ex.ToString());
// 这里可以选择将异常抛出给调用方,或者返回一个空的 DataTable
throw;
}
return dataTable;
}
public void Database(string dat)
{