rss LEGFRISSEBB TÉMÁK Csatlakozz új fórumunkhoz...

Firebird sql lekérdezés, script példa

C++, C# programozás technikai fórum.
vargaEr
Hozzászólások: 2
Csatlakozott: 2016.09.06. 10:50

Firebird sql lekérdezés, script példa

HozzászólásSzerző: vargaEr » 2016.09.24. 10:11

Üdv.!
Firebird csatlakozás, lekérdezés, script futtatásához szeretnék segítséget kérni, illetve nagyon örülnék 1-2 konkrét példának.

gaborg
Hozzászólások: 18
Csatlakozott: 2016.08.04. 01:23

Re: Firebird sql lekérdezés, script példa

HozzászólásSzerző: gaborg » 2016.09.24. 12:17

Először is szükségesek a következő Class Library hivatkozások:

Kód: Egész kijelölése

using FirebirdSql.Data.FirebirdClient;
using FirebirdSql.Data.Isql; // isql, scripthez


Firebird csatlakozáshoz szükséges ConnectString:

Kód: Egész kijelölése

public static string myConnect =
   "Database=<aliasnév>;" +
   "Dialect=3; character set=WIN1250;" +
   "user id=sysdba;Password=masterkey;data source=localhost";

A Database mutathat egy fdb file-ra is, a fenti példa alias hivatkozással működik.
További információk a csatlakozási paraméterekről:
Firebird ADO.NET Data Provider - Connect String

SQL parancs futtatása:

Kód: Egész kijelölése

public static void mysqlexec(string txt)
{
   FbConnection FBC = new FbConnection(myConnect);
   try
   {
      FBC.Open();
      FbCommand SQL = new FbCommand();
      FbTransaction TRANS = FBC.BeginTransaction();
      SQL.Connection = FBC;
      SQL.Transaction = TRANS;
      SQL.CommandText = txt;
      SQL.ExecuteNonQuery();
      TRANS.Commit();
      SQL.Dospose();
   }
   // hiba esetén annak kiírása
   catch (Exception x) { MessageBox.Show(x.Message); }
   finally { FBC.Close(); }
}


SQL script futtatása - ; az sql sorok végén fontos!

Kód: Egész kijelölése

public static string mysqlscript(string txt)
{
   string myError = "";
   FbConnection FBC = new FbConnection(myConnect);
   try
   {
      FBC.Open();
      FbTransaction TRANS = FBC.BeginTransaction();
      FbScript fbs = new FbScript(txt);
      fbs.Parse();
      FbBatchExecution SQL = new FbBatchExecution(FBC);
      SQL.AppendSqlStatements(fbs);
      SQL.Execute(true);
      TRANS.Commit();
   }
   // hiba esetén a hiba lesz a visszatérési érték
   catch (Exception x) { myError = x.Message; }
   finally { FBC.Close(); }
   return myError;
}


Lekérdezés:

Kód: Egész kijelölése

public static List<String> mysql(string txt)
{
   // visszatérési érték egy stringlist
   List<String> result = new List<String>();
   FbConnection FBC = new FbConnection(myConnect);
   try
   {
      FBC.Open();
      FbCommand QUERY = new FbCommand(txt, FBC);
      FbDataReader myreader = QUERY.ExecuteReader();
      while (myreader.Read())
      {
         result.Add(myreader[0].ToString());
      }
      myreader.Close();
      QUERY.Dispose();
   }
   catch (Exception x) { MessageBox.Show(x.Message); }
   finally { FBC.Close(); }
   return result;
}

A lekérdezés első paraméterét listázza...

További információkat a következő helyekről lehet szerezni:
Firebird .NET példák
Üdv.: gaborg


Vissza: “C++, C#”