是的,C# 的 SQLHelper 類可以支持復(fù)雜查詢。SQLHelper 是一個(gè)用于簡(jiǎn)化數(shù)據(jù)庫操作的類庫,它提供了一系列靜態(tài)方法來執(zhí)行 SQL 語句和參數(shù)化查詢。你可以使用 SQLHelper 來執(zhí)行復(fù)雜的 SQL 查詢,包括多表連接、子查詢、聚合函數(shù)等。
以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用 SQLHelper 執(zhí)行復(fù)雜查詢:
using System;
using System.Data;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
public class SQLHelper
{
private static string connectionString = "your_connection_string";
public static DataTable ExecuteComplexQuery(string query)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
DataTable result = new DataTable();
result.Load(reader);
return result;
}
}
}
}
}
class Program
{
static void Main(string[] args)
{
string complexQuery = @"
SELECT o.order_id, o.order_date, c.customer_name, od.product_name, od.quantity, od.price
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_details od ON o.order_id = od.order_id
WHERE o.order_date BETWEEN @startDate AND @endDate
ORDER BY o.order_date DESC";
DataTable result = SQLHelper.ExecuteComplexQuery(complexQuery);
foreach (DataRow row in result.Rows)
{
Console.WriteLine($"Order ID: {row["order_id"]}, Order Date: {row["order_date"]}, Customer Name: {row["customer_name"]}, Product Name: {row["product_name"]}, Quantity: {row["quantity"]}, Price: {row["price"]}");
}
}
}
在這個(gè)示例中,我們定義了一個(gè)名為 ExecuteComplexQuery
的方法,該方法接受一個(gè) SQL 查詢字符串作為參數(shù),并返回一個(gè)包含查詢結(jié)果的 DataTable 對(duì)象。在 Main
方法中,我們定義了一個(gè)復(fù)雜的 SQL 查詢,并使用 SQLHelper 類執(zhí)行該查詢。最后,我們遍歷結(jié)果集并輸出相關(guān)信息。