SourceColumn

Свойство предоставляет или устанавливает имя столбца набора данных DataSet, к которому привязан данный параметр. Используется ADO.NET-провайдером для загрузки в параметр значения из указанного столбца (для присвоения значения свойству Value параметра).

Значение по умолчанию – пустая строка.

Если значение, установленное для свойства SourceColumn, не является пустой строкой, значит, оно получено из столбца с именем SourceColumn.

Если для свойства Direction задано значение Input, то значение параметра берется из набора данных DataSet.

Если для свойства Direction задано значение Output, то значение параметра берется из БД ЛИНТЕР.

Свойство Direction для InputOutput представляет собой комбинацию обоих значений.

Декларация
public abstract string SourceColumn {get; set;};
Исключения

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

Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class ParameterSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "User ID=SYSTEM;Password=MANAGER8";
    con.Open();
    // Создание таблицы БД
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    cmd.CommandText = "create or replace table UserInfo" +
      "(UserID int, UserName Char(256), Age int)";
    cmd.ExecuteNonQuery();
    // Создание объекта DataTable
    DataTable users = new DataTable("Пользователи");
    users.Columns.Add("Номер", typeof(int));
    users.Columns.Add("Имя пользователя", typeof(string));
    users.Columns.Add("Возраст", typeof(int));
    // Создание параметра для колонки "Номер"
    DbParameter paramUserID = factory.CreateParameter();
    paramUserID.SourceColumn = "Номер";
    paramUserID.ParameterName = ":pUserID";
    paramUserID.DbType = DbType.Int32;
    // Создание параметра для колонки "Имя пользователя"
    DbParameter paramUserName = factory.CreateParameter();
    paramUserName.SourceColumn = "Имя пользователя";
    paramUserName.ParameterName = ":pUserName";
    paramUserName.DbType = DbType.String;
    // Создание параметра для колонки "Возраст"
    DbParameter paramAge = factory.CreateParameter();
    paramAge.SourceColumn = "Возраст";
    paramAge.ParameterName = ":pAge";
    paramAge.DbType = DbType.Int32;
    // Создание команды для выборки данных из таблицы
    DbCommand selectCommand = factory.CreateCommand();
    selectCommand.CommandText = "select * from UserInfo";
    selectCommand.Connection = con;
    // Создание команды для вставки данных в таблицу
    DbCommand insertCommand = factory.CreateCommand();
    insertCommand.CommandText = "insert into UserInfo " +
      "(UserID, UserName, Age) values (:pUserID, :pUserName, :pAge)";
    insertCommand.Connection = con;
    insertCommand.Parameters.Add(paramUserID);
    insertCommand.Parameters.Add(paramUserName);
    insertCommand.Parameters.Add(paramAge);
    // Создание объекта DataAdapter
    DbDataAdapter dataAdapter = factory.CreateDataAdapter();
    dataAdapter.SelectCommand = selectCommand;
    dataAdapter.InsertCommand = insertCommand;
    // Изменение объекта DataTable
    DataRow newUser = users.NewRow();
    newUser["Номер"] = 1;
    newUser["Имя пользователя"] = "Первый пользователь";
    newUser["Возраст"] = 25;
    users.Rows.Add(newUser);
    // Синхронизация объекта DataTable с БД
    try
    {
      int rowsInserted = dataAdapter.Update(users);
      Console.WriteLine("Обработано строк: " + rowsInserted);
    }
    catch (Exception ex)
    {
      Console.WriteLine("При обновлении БД возникла ошибка: ");
      Console.WriteLine(ex.Message);
    }
    // Освобождение ресурсов
    con.Close();
  }
}