//private static string CreateSelectSql(TableSelector selector) //{ // return string.Format(ObjectUtil.SysCulture, // "SELECT {0} FROM {1}", selector.Fields, selector.Context.EscapeName(selector.TableName)); //} private static void SetSelectCommand(ISqlDataAdapter selector) { if (selector.DataAdapter.SelectCommand == null) { selector.DataAdapter.SelectCommand = selector.Context.CreateCommand(); } else { selector.DataAdapter.SelectCommand.Parameters.Clear(); } }
internal void InternalExecute(ISqlDataAdapter selector) { TkDebug.AssertArgumentNull(selector, "selector", this); CreateStoredProc(); TkDebug.Assert(fConnection.State == ConnectionState.Closed, string.Format(ObjectUtil.SysCulture, "存储过程{0}在填充模式下,数据库连接必须是关闭的,请检查数据库连接的状态", ProcName), this); selector.DataAdapter.SelectCommand = Command; DbUtil.FillDataSet(this, selector.DataAdapter, selector.DataSet, ProcName); SetOutputValues(); }
//public static void GetSelectCommandWithParams(TableSelector selector, IFieldInfo[] fields, object[] values) //{ // SetSelectCommand(selector); // selector.DataAdapter.SelectCommand.CommandText = CreateSelectParamSql(selector, fields, values); //} //public static void GetSelectCommandWithParams(TableSelector selector, string filterSql, string orderBy, IFieldInfo[] fields, object[] values) //{ // SetSelectCommand(selector); // selector.DataAdapter.SelectCommand.CommandText = CreateSelectParamSql(selector, filterSql, orderBy, fields, values); //} //private static string CreateSelectParamSql(TableSelector selector, IFieldInfo[] fields, object[] values) //{ // return string.Format(ObjectUtil.SysCulture, "SELECT {0} FROM {1} {2}", selector.Fields, selector.TableName, // CreateWhereSql(selector, selector.DataAdapter.SelectCommand, false, string.Empty, fields, values)); //} //private static string CreateSelectParamSql(TableSelector selector, string filterSql, string orderBy, IFieldInfo[] fields, object[] values) //{ // if (!string.IsNullOrEmpty(orderBy)) // orderBy = " ORDER BY " + orderBy; // return string.Format(ObjectUtil.SysCulture, "SELECT {0} FROM {1} {2}{3}", selector.Fields, selector.TableName, // CreateWhereSql(selector, selector.DataAdapter.SelectCommand, false, filterSql, fields, values), orderBy); //} //private static string CreateWhereSql(TableSelector selector, IDbCommand command, // bool isOrigin, string filterSql, IFieldInfo[] fields, object[] values) //{ // TkDebug.AssertArgument(values == null || (values != null & fields.Length == values.Length), "values", // string.Format(ObjectUtil.SysCulture, "参数fields和values的长度个数不相等,fields的个数为{0},values的个数为{1}", // fields.Length, values.Length), selector); // StringBuilder whereSQL = new StringBuilder(BUFFER_SIZE); // int i = 0; // if (!string.IsNullOrEmpty(filterSql)) // JoinStringItem(whereSQL, i++, "(" + filterSql + ")", " AND "); // int j = 0; // Array.ForEach(fields, field => // { // JoinStringItem(whereSQL, i, string.Format(ObjectUtil.SysCulture, // "({0} = {1})", field.FieldName, // selector.Context.GetSqlParamName(field.FieldName, isOrigin)), " AND "); // IDbDataParameter parameter = selector.CreateDbDataParameter(field, isOrigin); // if (values != null) // parameter.Value = values[j]; // command.Parameters.Add(parameter); // i++; // j++; // }); // return "WHERE " + whereSQL; //} public static void GetSelectCommandSql(ISqlDataAdapter selector, string sql) { SetSelectCommand(selector); selector.DataAdapter.SelectCommand.CommandText = sql; }
public PeopleData(ISqlDataAdapter sqlData) { this._db = sqlData; }