SQLite ADO.NET Provider

Интерфейс ISQLiteManagedModule

Этот интерфейс представляет виртуальное внедрение таблицы, написанное в управляемом коде.

Для списка всех членов этого типа посмотрите Члены ISQLiteManagedModule.

public interface ISQLiteManagedModule

Типы, реализуемые ISQLiteManagedModule

Тип Описание
SQLiteModuleEnumerable(T) Этот класс осуществляет виртуальный модуль таблицы, который выставляет экземпляр объекта IEnumerable`1 как виртуальную таблицу только для чтения. Это не sealed и может использоваться в качестве базового класса для любого определенного пользователями виртуального класса таблицы, который обертывает экземпляр объекта IEnumerable`1.
SQLiteModule Этот класс представляет управляемое виртуальное внедрение модуля таблицы. Это не sealed и должно использоваться в качестве базового класса для любых определенных пользователями виртуальных классов модуля таблицы, осуществленных в управляемом коде.
SQLiteModuleCommon Этот класс содержит некоторые виртуальные методы, которые могут быть полезны для других виртуальных классов таблицы. Это определенно НЕ осуществляет ни одного из методов интерфейса ISQLiteManagedModule.
SQLiteModuleEnumerable Этот класс осуществляет виртуальный модуль таблицы, который выставляет экземпляр объекта IEnumerable как виртуальную таблицу только для чтения. Это не sealed и может использоваться в качестве базового класса для любого определенного пользователями виртуального класса таблицы, который обертывает экземпляр объекта IEnumerable. Следующий короткий пример показывает, как использовать множество последовательностей как источник данных таблицы:
public static class Sample
{
  public static void Main()
  {
    using (SQLiteConnection connection = new SQLiteConnection(
           "Data Source=:memory:;"))
    {
      connection.Open();
      connection.CreateModule(new SQLiteModuleEnumerable(
        "sampleModule", new string[] { "one", "two", "three" }));
      using (SQLiteCommand command = connection.CreateCommand())
      {
        command.CommandText = "CREATE VIRTUAL TABLE t1 USING sampleModule;";
        command.ExecuteNonQuery();
      }
      using (SQLiteCommand command = connection.CreateCommand())
      {
        command.CommandText = "SELECT * FROM t1;";
        using (SQLiteDataReader dataReader = command.ExecuteReader())
        {
          while (dataReader.Read())
          Console.WriteLine(dataReader[0].ToString());
        }
      }
      connection.Close();
    }
  }
}
SQLiteModuleNoop Этот класс осуществляет виртуальный модуль таблицы, который ничего не делает, обеспечивая "пустую" реализацию для всех методов интерфейса ISQLiteManagedModule. Кодами результата, возвращенными этими "пустыми" реализациями метода, можно управлять на основе метода при помощи и/или перекрытия методов GetDefaultResultCode, ResultCodeToEofResult, ResultCodeToFindFunctionResult, GetMethodResultCode и SetMethodResultCode из производных классов.

Требования

Namespace: System.Data.SQLite

Assembly: System.Data.SQLite (в System.Data.SQLite.dll)

См. также

Члены ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Begin

Этот метод вызывают в ответ на xBegin.

SQLiteErrorCode Begin(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.BestIndex

Этот метод вызывают в ответ на xBestIndex.

SQLiteErrorCode BestIndex(
SQLiteVirtualTable table,
SQLiteIndex index
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.
index
Экземпляр объекта SQLiteIndex, содержащий все данные для вводов и выводов, касающихся выбора индекса.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Close

Этот метод вызывают в ответ на xClose.

SQLiteErrorCode Close(
SQLiteVirtualTableCursor cursor
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором таблицы, который будет использоваться.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Column

Этот метод вызывают в ответ на xColumn.

SQLiteErrorCode Column(
SQLiteVirtualTableCursor cursor,
SQLiteContext context,
int index
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором таблицы, который будет использоваться.
context
Экземпляр объекта SQLiteContext, который будет использоваться для возвращения указанного значения столбца к оперативной библиотеке SQLite.
index
Основанный на ноле индекс, соответствующий колонке, содержащей значение, которое будет возвращено.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Commit

Этот метод вызывают в ответ на xCommit.

SQLiteErrorCode Commit(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Connect

Этот метод вызывают в ответ на xConnect.

SQLiteErrorCode Connect(
SQLiteConnection connection,
IntPtr pClientData,
string[] arguments,
ref SQLiteVirtualTable table,
ref string error
);

Параметры

connection
Экземпляр объекта SQLiteConnection, который связан с этой виртуальной таблицей.
pClientData
Указатель данных собственного пользователя, связанный с этим модулем, как это было предоставлено оперативной библиотеке SQLite, когда экземпляр модуля был создан.
arguments
Имя модуля, имя базы данных, имя виртуальной таблицы и все другие аргументы, переданные CREATE VIRTUAL TABLE.
table
При успехе этот параметр должен быть изменен, чтобы содержать экземпляр объекта SQLiteVirtualTable, связанный с виртуальной таблицей.
error
После неудачи этот параметр должен быть изменен, чтобы содержать сообщение об ошибке.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Create

Этот метод вызывают в ответ на xCreate.

SQLiteErrorCode Create(
SQLiteConnection connection,
IntPtr pClientData,
string[] arguments,
ref SQLiteVirtualTable table,
ref string error
);

Параметры

connection
Экземпляр объекта SQLiteConnection, который связан с виртуальной таблицей.
pClientData
Указатель данных собственного пользователя, связанный с этим модулем, как это было предоставлено оперативной библиотеке SQLite, когда экземпляр модуля был создан.
arguments
Имя модуля, имя базы данных, имя виртуальной таблицы и все другие аргументы, переданные CREATE VIRTUAL TABLE.
table
При успехе этот параметр должен быть изменен, чтобы содержать экземпляр объекта SQLiteVirtualTable, который связан с виртуальной таблицей.
error
После неудачи этот параметр должен быть изменен, чтобы содержать сообщение об ошибке.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Свойство ISQLiteManagedModule.Declared

Не 0, если схема для виртуальной таблицы была объявлена.

public bool Declared { public get; }

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Destroy

Этот метод вызывают в ответ на xDestroy.

SQLiteErrorCode Destroy(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Disconnect

Этот метод вызывают в ответ на xDisconnect.

SQLiteErrorCode Disconnect(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Eof

Этот метод вызывают в ответ на xEof.

bool Eof(
SQLiteVirtualTableCursor cursor
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором, который будет использоваться.

Возвращаемое значение

Не 0, если больше строк не доступно, иначе ноль.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Filter

Этот метод вызывают в ответ на xFilter.

SQLiteErrorCode Filter(
SQLiteVirtualTableCursor cursor,
int indexNumber,
string indexString,
SQLiteValue[] values
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором таблицы, который будет использоваться.
indexNumber
Число, чтобы определить отобранный индекс.
indexString
Строка, чтобы определить отобранный индекс.
values
Значения, соответствующие каждой колонке в отобранном индексе.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.FindFunction

Этот метод вызывают в ответ на xFindFunction.

bool FindFunction(
SQLiteVirtualTable table,
int argumentCount,
string name,
ref SQLiteFunction function,
ref IntPtr pClientData
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.
argumentCount
Количество аргументов разыскиваемой функции.
name
Название этой функции.
function
При успехе этот параметр должен быть изменен, чтобы содержать экземпляр объекта SQLiteFunction, ответственный за осуществление указанной функции.
pClientData
При успехе этот параметр должен быть изменен, чтобы содержать указатель данных собственного пользователя, связанный с function.

Возвращаемое значение

Не 0, если указанная функция была найдена, иначе ноль.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Свойство ISQLiteManagedModule.Name

Возвращает название модуля, как это было зарегистрировано в оперативной библиотеке SQLite.

public string Name { public get; }

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Next

Этот метод вызывают в ответ на xNext.

SQLiteErrorCode Next(
SQLiteVirtualTableCursor cursor
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Open

Этот метод вызывают в ответ на xOpen.

SQLiteErrorCode Open(
SQLiteVirtualTable table,
ref SQLiteVirtualTableCursor cursor
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.
cursor
При успехе этот параметр должен быть изменен, чтобы содержать экземпляр объекта SQLiteVirtualTableCursor, связанный с недавно открытым виртуальным курсором.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Release

Этот метод вызывают в ответ на xRelease.

SQLiteErrorCode Release(
SQLiteVirtualTable table,
int savepoint
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.
savepoint
integer, используемое, чтобы указать, что любые сохраненные состояния с идентификатором, больше или равным этому, должны быть удалены виртуальной таблицей

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Rename

Этот метод вызывают в ответ на xRename.

SQLiteErrorCode Rename(
SQLiteVirtualTable table,
string newName
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable, который связан с этой виртуальной таблицей.
newName
Новое название виртуальной таблицы.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Rollback

Этот метод вызывают в ответ на xRollback.

SQLiteErrorCode Rollback(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

ISQLiteManagedModule.RollbackTo Method

Этот метод вызывают в ответ на xRollbackTo.

SQLiteErrorCode RollbackTo(
SQLiteVirtualTable table,
int savepoint
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.
savepoint
Это идентификатор integer используемый, чтобы определить конкретное сохраненное состояние виртуальной таблицы, к которому надо вернуться. Он должен также иметь эффект удаления всех сохраненных состояний с идентификатором больше, чем этот.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.RowId

Этот метод вызывают в ответ на xRowId.

SQLiteErrorCode RowId(
SQLiteVirtualTableCursor cursor,
ref long rowId
);

Параметры

cursor
Экземпляр объекта SQLiteVirtualTableCursor, связанный с ранее открытым виртуальным курсором таблицы.
rowId
При успехе этот параметр должен быть изменен, чтобы содержать уникальный идентификатор integer для текущей строки для указанного курсора.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Savepoint

Этот метод вызывают в ответ на xSavepoint.

SQLiteErrorCode Savepoint(
SQLiteVirtualTable table,
int savepoint
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.
savepoint
integer, под которым должно быть сохранено текущее состояние виртуальной таблицы.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Sync

Этот метод вызывают в ответ на xSync.

SQLiteErrorCode Sync(
SQLiteVirtualTable table
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Метод ISQLiteManagedModule.Update

Этот метод вызывают в ответ на xUpdate.

SQLiteErrorCode Update(
SQLiteVirtualTable table,
SQLiteValue[] values,
ref long rowId
);

Параметры

table
Экземпляр объекта SQLiteVirtualTable , который связан с этой виртуальной таблицей.
values
Массив экземпляров объектов SQLiteValue, содержащих новые или измененные значения столбцов, если таковые имеются.
rowId
При успехе этот параметр должен быть изменен, чтобы содержать уникальный идентификатор integer для строки, которая была вставлена, если есть.

Возвращаемое значение

Стандартный код возврата SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Члены ISQLiteManagedModule

Обзор ISQLiteManagedModule

Public Instance Properties

DeclaredНе 0, если схема для виртуальной таблицы была объявлена.
NameВозвращает название модуля, как это было зарегистрировано в оперативной библиотеке SQLite.

Public Instance Methods

BeginЭтот метод вызывают в ответ на xBegin.
BestIndexЭтот метод вызывают в ответ на xBestIndex.
CloseЭтот метод вызывают в ответ на xClose.
ColumnЭтот метод вызывают в ответ на xColumn.
CommitЭтот метод вызывают в ответ на xCommit.
ConnectЭтот метод вызывают в ответ на xConnect.
CreateЭтот метод вызывают в ответ на xCreate.
DestroyЭтот метод вызывают в ответ на xDestroy.
DisconnectЭтот метод вызывают в ответ на xDisconnect.
EofЭтот метод вызывают в ответ на xEof.
FilterЭтот метод вызывают в ответ на xFilter.
FindFunctionЭтот метод вызывают в ответ на xFindFunction.
NextЭтот метод вызывают в ответ на xNext.
OpenЭтот метод вызывают в ответ на xOpen.
ReleaseЭтот метод вызывают в ответ на xRelease method.
RenameЭтот метод вызывают в ответ на xRename.
RollbackЭтот метод вызывают в ответ на xRollback.
RollbackToЭтот метод вызывают в ответ на xRollbackTo.
RowIdЭтот метод вызывают в ответ на xRowId.
SavepointЭтот метод вызывают в ответ на xSavepoint.
SyncЭтот метод вызывают в ответ на xSync.
UpdateЭтот метод вызывают в ответ на xUpdate.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Методы ISQLiteManagedModule

Методы интерфейса ISQLiteManagedModule упоминаются ниже. Для полного списка участников интерфейса ISQLiteManagedModule посмотрите Члены ISQLiteManagedModule.

Public Instance Methods

BeginЭтот метод вызывают в ответ на xBegin.
BestIndexЭтот метод вызывают в ответ на xBestIndex.
CloseЭтот метод вызывают в ответ на xClose.
ColumnЭтот метод вызывают в ответ на xColumn.
CommitЭтот метод вызывают в ответ на xCommit.
ConnectЭтот метод вызывают в ответ на xConnect.
CreateЭтот метод вызывают в ответ на xCreate.
DestroyЭтот метод вызывают в ответ на xDestroy.
DisconnectЭтот метод вызывают в ответ на xDisconnect.
EofЭтот метод вызывают в ответ на xEof.
FilterЭтот метод вызывают в ответ на xFilter.
FindFunctionЭтот метод вызывают в ответ на xFindFunction.
NextЭтот метод вызывают в ответ на xNext.
OpenЭтот метод вызывают в ответ на xOpen.
ReleaseЭтот метод вызывают в ответ на xRelease.
RenameЭтот метод вызывают в ответ на xRename.
RollbackЭтот метод вызывают в ответ на xRollback.
RollbackToЭтот метод вызывают в ответ на xRollbackTo.
RowIdЭтот метод вызывают в ответ на xRowId.
SavepointЭтот метод вызывают в ответ на xSavepoint.
SyncЭтот метод вызывают в ответ на xSync.
UpdateЭтот метод вызывают в ответ на xUpdate.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite

SQLite ADO.NET Provider

Свойства ISQLiteManagedModule

Свойства интерфейса ISQLiteManagedModule упоминаются ниже. Для полного списка участников интерфейса ISQLiteManagedModule посмотрите Члены ISQLiteManagedModule.

Public Instance Properties

DeclaredНе 0, если схема для виртуальной таблицы была объявлена.
NameВозвращает название модуля, как это было зарегистрировано в оперативной библиотеке SQLite.

См. также

Интерфейс ISQLiteManagedModule | Пространство имен System.Data.SQLite