1 Star 0 Fork 0

LDMING/Z.ExtensionMethods

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
SQLiteConnection.ExecuteDataTable.cs 6.42 KB
一键复制 编辑 原始数据 按行查看 历史
Jonathan Magnan 提交于 2019-03-27 08:51 +08:00 . Update all copyright
// Description: C# Extension Methods | Enhance the .NET Framework and .NET Core with over 1000 extension methods.
// Website & Documentation: https://csharp-extension.com/
// Issues: https://github.com/zzzprojects/Z.ExtensionMethods/issues
// License (MIT): https://github.com/zzzprojects/Z.ExtensionMethods/blob/master/LICENSE
// More projects: https://zzzprojects.com/
// Copyright ZZZ Projects Inc. All rights reserved.
using System;
using System.Data;
using System.Data.SQLite;
public static partial class Extensions
{
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="parameters">Options for controlling the operation.</param>
/// <param name="commandType">Type of the command.</param>
/// <param name="transaction">The transaction.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, SQLiteParameter[] parameters, CommandType commandType, SQLiteTransaction transaction)
{
using (SQLiteCommand command = @this.CreateCommand())
{
command.CommandText = cmdText;
command.CommandType = commandType;
command.Transaction = transaction;
if (parameters != null)
{
command.Parameters.AddRange(parameters);
}
var ds = new DataSet();
using (var dataAdapter = new SQLiteDataAdapter(command))
{
dataAdapter.Fill(ds);
}
return ds.Tables[0];
}
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="commandFactory">The command factory.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, Action<SQLiteCommand> commandFactory)
{
using (SQLiteCommand command = @this.CreateCommand())
{
commandFactory(command);
var ds = new DataSet();
using (var dataAdapter = new SQLiteDataAdapter(command))
{
dataAdapter.Fill(ds);
}
return ds.Tables[0];
}
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText)
{
return @this.ExecuteDataTable(cmdText, null, CommandType.Text, null);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="transaction">The transaction.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, SQLiteTransaction transaction)
{
return @this.ExecuteDataTable(cmdText, null, CommandType.Text, transaction);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="commandType">Type of the command.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, CommandType commandType)
{
return @this.ExecuteDataTable(cmdText, null, commandType, null);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="commandType">Type of the command.</param>
/// <param name="transaction">The transaction.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, CommandType commandType, SQLiteTransaction transaction)
{
return @this.ExecuteDataTable(cmdText, null, commandType, transaction);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="parameters">Options for controlling the operation.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, SQLiteParameter[] parameters)
{
return @this.ExecuteDataTable(cmdText, parameters, CommandType.Text, null);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="parameters">Options for controlling the operation.</param>
/// <param name="transaction">The transaction.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, SQLiteParameter[] parameters, SQLiteTransaction transaction)
{
return @this.ExecuteDataTable(cmdText, parameters, CommandType.Text, transaction);
}
/// <summary>
/// A SQLiteConnection extension method that executes the data table operation.
/// </summary>
/// <param name="this">The @this to act on.</param>
/// <param name="cmdText">The command text.</param>
/// <param name="parameters">Options for controlling the operation.</param>
/// <param name="commandType">Type of the command.</param>
/// <returns>A DataTable.</returns>
public static DataTable ExecuteDataTable(this SQLiteConnection @this, string cmdText, SQLiteParameter[] parameters, CommandType commandType)
{
return @this.ExecuteDataTable(cmdText, parameters, commandType, null);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/ldming/Z.ExtensionMethods.git
git@gitee.com:ldming/Z.ExtensionMethods.git
ldming
Z.ExtensionMethods
Z.ExtensionMethods
master

搜索帮助