GetFillParameters
Метод предоставляет информацию о параметрах параметризованного SELECT-оператора в виде массива объектов IDataParameter
(а не объектов DbParameter
ADO.NET-провайдера СУБД ЛИНТЕР).
Если не нужно проверять или задавать значения свойств Size, Precision и Scale, то с помощью данного метода можно присваивать значения параметрам.
Синтаксис
public override IDataParameter[] GetFillParameters();
Возвращаемое значение
Массив объектов IDataParameter
, соответствующих SQL-оператору, указанному в свойстве SelectCommand.
Если объект DataAdapter
каким-либо образом не инициализирован (например, свойство SelectCommand равно null), то исключение не генерируется, а возвращается массив объектов IDataParameter
, не содержащий элементов, т.е. нулевой длины.
Исключения
Отсутствуют.
Пример
// C# using System; using System.Data; using System.Data.Common; class GetFillParametersSample { static void Main() { // Создание фабрики классов провайдера DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.LinterClient"); // Соединение с БД DbConnection con = factory.CreateConnection(); con.ConnectionString = "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8"; // Создание параметров для команды DbParameter par = factory.CreateParameter(); par.ParameterName = ":car"; par.Direction = ParameterDirection.Input; par.DbType = DbType.String; par.Size = 20; par.Value = "CHEVROLET%"; // Создание команды для выборки записей DbCommand selectCommand = factory.CreateCommand(); selectCommand.Connection = con; selectCommand.CommandText = "select personid, model from auto where model like :car"; selectCommand.Parameters.Add(par); // Создание объекта DbDataAdapter DbDataAdapter adapter = factory.CreateDataAdapter(); adapter.SelectCommand = selectCommand; // Заполнение объекта DataTable данными из таблицы БД DataTable table = new DataTable(); adapter.Fill(table); // Отображение полученных данных Console.WriteLine("Строки таблицы:"); foreach (DataRow row in table.Rows) { foreach (DataColumn column in table.Columns) { Console.Write("{0} | ", row[column.ColumnName]); } Console.WriteLine(); } // Отображение параметров Console.WriteLine("Параметры:"); foreach (IDataParameter p in adapter.GetFillParameters()) { Console.WriteLine("Имя параметра: " + p.ParameterName); Console.WriteLine("Значение параметра: " + p.Value); } } }