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);
}
}
}