SelectCommand

Свойство предоставляет или устанавливает текст команды (SQL-запроса), применяемой для выборки данных в источнике данных (используется в методах Fill и FillSchema для заполнения данными объектов DataSet, DataTable или DataRow[]).

Декларация
[BrowsableAttribute(false)]
public DbCommand SelectCommand {get; set;};
Значение свойства

Интерфейс IDbCommand, используемый во время применения метода Fill для выбора записей из источника данных для размещения в наборе данных.

Исключения

Отсутствуют.

Примеры

1) Явно установить свойство SelectCommand объекта DbDataAdapter.

// C#
using System;
using System.Data;
using System.Data.Common;

class SelectCommandSample
{
  static void Main()
  {
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    DbCommand selectCommand = factory.CreateCommand();
    selectCommand.CommandText = "select personid, model from auto";
    selectCommand.Connection = con;
    DbDataAdapter adapter = factory.CreateDataAdapter();
    adapter.SelectCommand = selectCommand;
    DataTable auto = new DataTable();
    adapter.Fill(auto);
    Console.WriteLine("Строки таблицы:");
    foreach (DataRow row in auto.Rows)
    {
      Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
    }
  }
}

2) Вместо установки свойства SelectCommand передать объект Command конструктору класса LinterDbDataAdapter. ADO.NET-провайдер свяжет его со свойством SelectCommand объекта DataAdapter.

// C#
using System;
using System.Data;
using System.Data.LinterClient;

class SelectCommandSample
{
  static void Main()
  {
    LinterDbConnection con = new LinterDbConnection(
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8");
    LinterDbCommand selectCommand = new LinterDbCommand(
      "select id, name from users", con);
    LinterDbDataAdapter adapter = new LinterDbDataAdapter(selectCommand);
    DataTable auto = new DataTable();
    adapter.Fill(auto);
    Console.WriteLine("Строки таблицы:");
    foreach (DataRow row in auto.Rows)
    {
      Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
    }
  }
}
      

3) Если конструктору LinterDbDataAdapter передан текст SQL-запроса для выборки данных и объект LinterDbConnection, то на основе этих значений будет создан объект LinterDbCommand и установлено свойство SelectCommand объекта LinterDbDataAdapter.

// C#
using System;
using System.Data;
using System.Data.LinterClient;

class SelectCommandSample
{
  static void Main()
  {
    LinterDbConnection con = new LinterDbConnection(
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8");
    string selectCommandText =
      "select personid, model from auto";
    LinterDbDataAdapter adapter = new LinterDbDataAdapter(
      selectCommandText, con);
    DataTable auto = new DataTable();
    adapter.Fill(auto);
    Console.WriteLine("Строки таблицы:");
    foreach (DataRow row in auto.Rows)
    {
      Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
    }
  }
}
      

4) Если конструктору LinterDbDataAdapter передан текст SQL-запроса для выборки данных и строка подключения, то на основе этих значений будет создан объект LinterDbCommand и установлено свойство SelectCommand объекта LinterDbDataAdapter.

// C#
using System;
using System.Data;
using System.Data.LinterClient;

class SelectCommandSample
{
  static void Main()
  {
    string connectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    string selectCommandText =
      "select personid, model from auto";
    LinterDbDataAdapter adapter = new LinterDbDataAdapter(
      selectCommandText, connectionString);
    DataTable auto = new DataTable();
    adapter.Fill(auto);
    Console.WriteLine("Строки таблицы:");
    foreach (DataRow row in auto.Rows)
    {
      Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
    }
  }
}