Przykłady dostępu do różnych baz danych SQL za pomocą API
API programu pozwala na odczyt danych z dowolnych systemów ERP posługujących się różnymi bazami danych. Wszystkie poniżej przestawione przykłady korzystają z biblioteki TGSoft.DB, którą należy dołączyć w sekcji using.
Oczywiście poza udostępnieniem naszej biblioteki, programista może skorzystać bezpośrednio z biblioteki systemowej System.Data i korzystać z całego dobrodziejstwa ADO.NET.
- TestMSSQL() - dostęp do bazy MS SQL Server.
- TestFirebird() - dostęp do bazy Firebird SQL.
- TestOleDb() - dostęp do różnych baz za pomocą sterowników OLE DB, które muszą być zainstalowane w komputerze. W przykładzie zastosowano bazę MS SQL Server.
- TestOdbc() - dostęp do różnych baz za pomocą sterowników ODBC, które muszą być zainstalowane w komputerze. W przykładzie zastosowano bazę MS SQL Server.
- TestDBF() - dostęp do tabel DBF (Clipper)
- TestSqlProcedure() - przykład pobrania rekordów, które są wynikiem procedury zapisanej w bazie MS SQL Server. Procedura wymaga podania dwóch parametrów (daty).
- TestOledbProcedure() - Powyższy przykład wykonany za pomocą sterowników OLE DB.
Poniżej cały kod C# naszego przykładu:
namespace Szark
{
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using TGSoft.DB;
public partial class Form1 : DevExpress.XtraEditors.XtraForm
{
private const string sqlSelect = "SELECT * FROM jpk_rejestry_vat";
private DataTable dt;
public Form1(object sender)
{
this.InitializeComponent();
}
public void Main()
{
this.ShowDialog();
}
private void TestMSSQL()
{
var sql = new TGSoft.DB.MsSql(@"XServer\SQLExpress", "erp_database", "", "");
dt = sql.GetSQLTable(sqlSelect);
dataGridView1.DataSource = dt;
}
private void TestFirebird()
{
var sql = new TGSoft.DB.FbSql("10.1.0.12", @"c:\Katalog-ERP\PROGRAM-ERP.FDB", "SYSDBA", "masterkey");
sql.ServerType = TGSoft.DB.FbSql.FirebirdServerType.Default;
dt = sql.GetSQLTable(sqlSelect);
dataGridView1.DataSource = dt;
}
private void TestOleDb()
{
var sql = new TGSoft.DB.OleDb(@"Provider=SQLNCLI11;Server=XServer\SQLExpress;Database=erp_database;Trusted_Connection=Yes");
dt = sql.GetSQLTable(sqlSelect);
dataGridView1.DataSource = dt;
}
private void TestOdbc()
{
var sql = new TGSoft.DB.Odbc(@"Driver={SQL Server};Server=XServer\SQLExpress;Database=erp_database;Trusted_Connection=Yes;");
dt = sql.GetSQLTable(sqlSelect);
dataGridView1.DataSource = dt;
}
private void TestDBF()
{
var sql = new TGSoft.DB.ADS("", @"c:\Katalog-ERP", "", "") { TableType = ADS.AdsTableType.DBF_NTX };
dt = sql.GetSQLTable(sqlSelect);
dataGridView1.DataSource = dt;
}
private void TestSqlProcedure()
{
var param1 = new SqlParameter { ParameterName = "@data1", Value = new DateTime(2017, 1, 1) };
var param2 = new SqlParameter { ParameterName = "@data2", Value = new DateTime(2017, 1, 31) };
var sql = new TGSoft.DB.MsSql(@"XServer\SQLExpress", "erp_database", "", "");
dt = sql.GetSPTable("dbo.RejestryVAT", new SqlParameter[] { param1, param2 });
dataGridView1.DataSource = dt;
}
private void TestOledbProcedure()
{
var param1 = new OleDbParameter { ParameterName = "@data1", Value = new DateTime(2017, 1, 1) };
var param2 = new OleDbParameter { ParameterName = "@data2", Value = new DateTime(2017, 1, 31) };
var sql = new TGSoft.DB.OleDb(@"Provider=SQLNCLI11;Server=XServer\SQLExpress;Database=erp_database;Trusted_Connection=Yes");
dt = sql.GetSPTable("dbo.RejestryVAT", new OleDbParameter[] { param1, param2 });
dataGridView1.DataSource = dt;
}
}
}
Przykłady połączeń do różnych baz danych za pomocą sterowników OLE DB i ODBC można znaleźć na stronie: https://www.connectionstrings.com
Np. dla bazy Pervasive: https://www.connectionstrings.com/pervasive/
Zapoznaj się z następnym dokumentem Hello World - dodatek do Arkusza Kalkulacyjnego.