init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
207
Sda.DataProvider/SDADataAdapter.cs
Normal file
207
Sda.DataProvider/SDADataAdapter.cs
Normal file
|
@ -0,0 +1,207 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using SDA.DataProvider.Core;
|
||||
|
||||
namespace SDA.DataProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Adapter
|
||||
/// </summary>
|
||||
public class SDADataAdapter : IDisposable
|
||||
{
|
||||
internal SDADataAdapterWrapper DataAdapter;
|
||||
internal SDACommand InnerDeleteCommand;
|
||||
internal SDACommand InnerInsertCommand;
|
||||
internal SDACommand InnerSelectCommand;
|
||||
internal SDACommand InnerUpdateCommand;
|
||||
|
||||
/// <summary>
|
||||
/// Előállít egy új adatbázis-kapcsolat példányt.
|
||||
/// </summary>
|
||||
public SDADataAdapter()
|
||||
{
|
||||
if (SDAFactory.Instance == null)
|
||||
{
|
||||
throw new InvalidOperationException("SDAFactory.Instance");
|
||||
}
|
||||
DataAdapter = SDAFactory.Instance.CreateDataAdapter();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Előállít egy új adatbázis-kapcsolat példányt.
|
||||
/// </summary>
|
||||
/// <param name="type">Az adatbázis-kezelő típusa.</param>
|
||||
public SDADataAdapter(DatabaseType type) : this(type, null)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Előállít egy új adatbázis-kapcsolat példányt.
|
||||
/// </summary>
|
||||
/// <param name="type">Az adatbázis-kezelő típusa.</param>
|
||||
public SDADataAdapter(DatabaseType type, int? commandTimeout)
|
||||
{
|
||||
DataAdapter = SDAFactory.GetByDatabaseType(type, commandTimeout).CreateDataAdapter();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Törléshez használt parancsobjektum.
|
||||
/// </summary>
|
||||
public SDACommand DeleteCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return InnerDeleteCommand;
|
||||
}
|
||||
set
|
||||
{
|
||||
DataAdapter.DeleteCommand = value?.Command;
|
||||
InnerDeleteCommand = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Beszúráshoz használt parancsobjektum.
|
||||
/// </summary>
|
||||
public SDACommand InsertCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return InnerInsertCommand;
|
||||
}
|
||||
set
|
||||
{
|
||||
DataAdapter.InsertCommand = value?.Command;
|
||||
InnerInsertCommand = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lekérdezéshez használt parancsobjektum.
|
||||
/// </summary>
|
||||
public SDACommand SelectCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return InnerSelectCommand;
|
||||
}
|
||||
set
|
||||
{
|
||||
DataAdapter.SelectCommand = value?.Command;
|
||||
InnerSelectCommand = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Módosításhoz használt parancsobjektum.
|
||||
/// </summary>
|
||||
public SDACommand UpdateCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return InnerUpdateCommand;
|
||||
}
|
||||
set
|
||||
{
|
||||
DataAdapter.UpdateCommand = value?.Command;
|
||||
InnerUpdateCommand = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feltölti adattal a táblát.
|
||||
/// </summary>
|
||||
/// <param name="table">A feltöltendő tábla</param>
|
||||
public void Fill(DataTable table)
|
||||
{
|
||||
DataAdapter.Fill(table);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feltölti adattal a táblát
|
||||
/// </summary>
|
||||
/// <param name="table">A feltöltendő tábla</param>
|
||||
/// <param name="startRecord">Az első rekord indexe</param>
|
||||
/// <param name="endRecord">Az utolsó rekord indexe</param>
|
||||
/// <remarks>Nem szabványos metódus!</remarks>
|
||||
public void Fill(DataTable table, int startRecord, int endRecord)
|
||||
{
|
||||
if (table == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(table));
|
||||
}
|
||||
|
||||
table.TableName = "table";
|
||||
using (DataSet dts = new DataSet())
|
||||
{
|
||||
dts.Locale = CultureInfo.CurrentCulture;
|
||||
dts.Tables.Add(table);
|
||||
DataAdapter.Fill(dts, startRecord, endRecord, "table");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feltölti adattal a táblát
|
||||
/// </summary>
|
||||
/// <param name="dataSet">A feltöltendő adathalmaz</param>
|
||||
public void Fill(DataSet dataSet)
|
||||
{
|
||||
DataAdapter.Fill(dataSet);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Frissíti az adatbázist.
|
||||
/// </summary>
|
||||
/// <param name="dataSet">A forrás adathalmaz</param>
|
||||
public void Update(DataSet dataSet)
|
||||
{
|
||||
DataAdapter.Update(dataSet);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Frissíti az adatbázist.
|
||||
/// </summary>
|
||||
/// <param name="dataTable">A forrás tábla</param>
|
||||
public void Update(DataTable dataTable)
|
||||
{
|
||||
DataAdapter.Update(dataTable);
|
||||
}
|
||||
|
||||
bool _disposed;
|
||||
|
||||
/// <summary>
|
||||
/// Explicit destruktor.
|
||||
/// </summary>
|
||||
/// <param name="disposing">Programozott felszabadítás?</param>
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (disposing)
|
||||
{
|
||||
InnerDeleteCommand = null;
|
||||
InnerInsertCommand = null;
|
||||
InnerSelectCommand = null;
|
||||
InnerUpdateCommand = null;
|
||||
if (DataAdapter != null)
|
||||
{
|
||||
DataAdapter.Dispose();
|
||||
DataAdapter = null;
|
||||
}
|
||||
}
|
||||
_disposed = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Eldobja az objektumot.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue