// DBUtils SQL 查询示例 // 适用插件:Form/Operation/Validator/Report // 依赖 API:DBUtils, SqlParam // 相关检查:推荐使用参数化查询,避免拼接用户输入 using System.Collections.Generic; using System.Data; using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.ServiceHelper; public class SqlQuerySample { private Context ctx; public void DemonstrateSqlQuery() { // 简单查询 string sql = "SELECT FBILLNO, FDATE, FAMOUNT FROM T_PUR_POORDER WHERE FDOCUMENTSTATUS = 'C'"; DataSet ds = DBUtils.ExecuteDataSet(ctx, sql); foreach (DataRow row in ds.Tables[0].Rows) { string billNo = row["FBILLNO"].ToString(); } // 带参数查询,避免拼接用户输入 string paramSql = "SELECT * FROM T_PUR_POORDER WHERE FDATE >= @StartDate AND FDATE <= @EndDate"; List parameters = new List { new SqlParam("@StartDate", KDDbType.DateTime, System.DateTime.Now.AddDays(-30)), new SqlParam("@EndDate", KDDbType.DateTime, System.DateTime.Now) }; DataSet paramDs = DBUtils.ExecuteDataSet(ctx, paramSql, parameters); // 聚合查询 string aggSql = "SELECT FSUPPLIERID, SUM(FAMOUNT) AS TOTAL FROM T_PUR_POORDER GROUP BY FSUPPLIERID"; DataSet aggDs = DBUtils.ExecuteDataSet(ctx, aggSql); } }