You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(55) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(38) |
Feb
(108) |
Mar
(79) |
Apr
(95) |
May
(64) |
Jun
(130) |
Jul
(146) |
Aug
(121) |
Sep
(96) |
Oct
(149) |
Nov
(161) |
Dec
(113) |
2004 |
Jan
(113) |
Feb
(163) |
Mar
(248) |
Apr
(132) |
May
(157) |
Jun
(160) |
Jul
(236) |
Aug
(284) |
Sep
(293) |
Oct
(277) |
Nov
(257) |
Dec
(356) |
2005 |
Jan
(203) |
Feb
(190) |
Mar
(220) |
Apr
(165) |
May
(124) |
Jun
(160) |
Jul
(190) |
Aug
(142) |
Sep
(152) |
Oct
(189) |
Nov
(187) |
Dec
(159) |
2006 |
Jan
(170) |
Feb
(151) |
Mar
(212) |
Apr
(262) |
May
(226) |
Jun
(196) |
Jul
(223) |
Aug
(165) |
Sep
(163) |
Oct
(348) |
Nov
(225) |
Dec
(141) |
2007 |
Jan
(261) |
Feb
(161) |
Mar
(222) |
Apr
(193) |
May
(121) |
Jun
(157) |
Jul
(151) |
Aug
(159) |
Sep
(61) |
Oct
(123) |
Nov
(172) |
Dec
(96) |
2008 |
Jan
(104) |
Feb
(138) |
Mar
(131) |
Apr
(131) |
May
(74) |
Jun
(107) |
Jul
(89) |
Aug
(89) |
Sep
(172) |
Oct
(158) |
Nov
(119) |
Dec
(86) |
2009 |
Jan
(52) |
Feb
(84) |
Mar
(78) |
Apr
(83) |
May
(54) |
Jun
(79) |
Jul
(60) |
Aug
(62) |
Sep
(50) |
Oct
(147) |
Nov
(50) |
Dec
(70) |
2010 |
Jan
(135) |
Feb
(113) |
Mar
(74) |
Apr
(93) |
May
(35) |
Jun
(71) |
Jul
(33) |
Aug
(110) |
Sep
(47) |
Oct
(18) |
Nov
(61) |
Dec
(34) |
2011 |
Jan
(46) |
Feb
(47) |
Mar
(25) |
Apr
(24) |
May
(21) |
Jun
(22) |
Jul
(20) |
Aug
(51) |
Sep
(31) |
Oct
(42) |
Nov
(22) |
Dec
(22) |
2012 |
Jan
(31) |
Feb
(19) |
Mar
(25) |
Apr
(55) |
May
(16) |
Jun
(28) |
Jul
(33) |
Aug
(25) |
Sep
(32) |
Oct
(25) |
Nov
(52) |
Dec
(35) |
2013 |
Jan
(43) |
Feb
(18) |
Mar
(36) |
Apr
(45) |
May
(22) |
Jun
(13) |
Jul
(31) |
Aug
(24) |
Sep
(19) |
Oct
(59) |
Nov
(47) |
Dec
(25) |
2014 |
Jan
(27) |
Feb
(15) |
Mar
(38) |
Apr
(10) |
May
(15) |
Jun
(36) |
Jul
(24) |
Aug
(28) |
Sep
(16) |
Oct
(6) |
Nov
(44) |
Dec
(40) |
2015 |
Jan
(52) |
Feb
(22) |
Mar
(13) |
Apr
(17) |
May
(22) |
Jun
(36) |
Jul
(18) |
Aug
(41) |
Sep
(71) |
Oct
(60) |
Nov
(49) |
Dec
(43) |
2016 |
Jan
(60) |
Feb
(13) |
Mar
(21) |
Apr
(28) |
May
(23) |
Jun
(39) |
Jul
(17) |
Aug
(37) |
Sep
(33) |
Oct
(15) |
Nov
(22) |
Dec
(20) |
2017 |
Jan
(27) |
Feb
(40) |
Mar
(48) |
Apr
(19) |
May
(29) |
Jun
(2) |
Jul
(19) |
Aug
(36) |
Sep
(18) |
Oct
(10) |
Nov
(11) |
Dec
(5) |
2018 |
Jan
(5) |
Feb
(4) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(17) |
Jul
(7) |
Aug
(7) |
Sep
(12) |
Oct
(8) |
Nov
(2) |
Dec
|
2019 |
Jan
(8) |
Feb
(5) |
Mar
(3) |
Apr
(5) |
May
(3) |
Jun
(2) |
Jul
(8) |
Aug
(7) |
Sep
(3) |
Oct
(12) |
Nov
(7) |
Dec
(1) |
2020 |
Jan
(8) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
(25) |
Sep
(5) |
Oct
(3) |
Nov
(7) |
Dec
(16) |
2021 |
Jan
(11) |
Feb
(10) |
Mar
(16) |
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Miguel M <bo...@ne...> - 2003-06-20 19:24:06
|
""David B"" <NO_...@ya...> wrote in message news:bcts6o$ovf$1...@ne...... > Hi, > > Could somebody please tell me where I can get the .Net provider for firebird > and possibly a good xample of connecting to a database, issuing select > statements, using stored procedures from VB.NET. > > I am been searching through the archieves for this group and think that I > can piece together various bits of info to make a connection once I have the > provider, although an example would be good. > > My back group has mostly been in classic ASP development to MS SQL > databases, so hopefully I won't find this toooo hard. > > any help is very much appreciated. > > > cheers > > martin. Here is my C# example. I've come to this code when I was learning how to run procedures in asp.net with firebird( a few days ago :) ). It hasn't been fully tested and I haven't put any error control stuff but it's working fine and helped me to learn. Based on the book ASP.NET Website programming - problem -designed -solution I've "adapted" a few functions to run with Firebird that will make like easier when running stored procedures. Base class that provides support functions as well as automatic instantiation and configuration of FbConnection object: FbDbObject.cs using System; using System.Data; using FirebirdSql.Data.Firebird; namespace FbData { public class FbDbObject { protected FbConnection Connection; protected FbTransaction tx; private string connectionString; public FbDbObject(string newConnectionString) { connectionString = newConnectionString; Connection = new FbConnection(connectionString); } protected string ConnectionString { get { return connectionString; } } private FbCommand BuildIntCommand(string storedProcName, IDataParameter[] parameters) { FbCommand command= BuildQueryCommand(storedProcName,parameters); command.Parameters.Add(new FbParameter("ReturnValue",FbType.Integer)).Direction = ParameterDirection.ReturnValue; return command; } private FbCommand BuildQueryCommand(string storedProcName, IDataParameter[] parameters) { FbCommand command = new FbCommand(storedProcName,Connection,tx); command.CommandType = CommandType.StoredProcedure; foreach(FbParameter parameter in parameters) { command.Parameters.Add(parameter).Direction = ParameterDirection.Input; } return command; } private FbCommand BuildQueryCommand(string storedProcName) { FbCommand command = new FbCommand(storedProcName,Connection,tx); return command; } public int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected) { int result; Connection.Open(); tx = Connection.BeginTransaction(); FbCommand command = BuildIntCommand(storedProcName, parameters); rowsAffected = command.ExecuteNonQuery(); result = (int)command.Parameters["ReturnValue"].Value; tx.Commit(); tx.Dispose(); Connection.Close(); return result; } public void RunProcedure_1(string storedProcName, IDataParameter[] parameters) { Connection.Open(); tx = Connection.BeginTransaction(); FbCommand command = BuildQueryCommand(storedProcName, parameters); command.ExecuteNonQuery(); tx.Commit(); tx.Dispose(); Connection.Close(); } public FbDataReader RunProcedure(string storedProcName, IDataParameter[] parameters) { FbDataReader returnReader; Connection.Open(); tx = Connection.BeginTransaction(); FbCommand command = BuildIntCommand(storedProcName, parameters); command.CommandType = CommandType.StoredProcedure; returnReader = command.ExecuteReader(CommandBehavior.CloseConnection); tx.Commit(); tx.Dispose(); return returnReader; } public DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) { DataSet dataSet = new DataSet(); Connection.Open(); tx = Connection.BeginTransaction(); FbDataAdapter fbDA = new FbDataAdapter(); fbDA.SelectCommand = BuildQueryCommand(storedProcName, parameters); fbDA.Fill(dataSet, tableName); tx.Commit(); tx.Dispose(); Connection.Close(); return dataSet; } public DataSet RunProcedure(string storedProcName, string tableName) { DataSet dataSet = new DataSet(); Connection.Open(); tx = Connection.BeginTransaction(); FbDataAdapter fbDA = new FbDataAdapter(); fbDA.SelectCommand = BuildQueryCommand(storedProcName); fbDA.Fill(dataSet, tableName); tx.Commit(); tx.Dispose(); Connection.Close(); return dataSet; } public void RunProcedure(string storedProcName, IDataParameter[] parameters, DataSet dataSet, string tableName) { Connection.Open(); tx = Connection.BeginTransaction(); FbDataAdapter fbDA = new FbDataAdapter(); fbDA.SelectCommand = BuildQueryCommand(storedProcName, parameters); fbDA.Fill(dataSet, tableName); tx.Commit(); tx.Dispose(); Connection.Close(); } } } To use this I created a simple web page with one datagrid, 2 textboxes, a combobox and a submit button. Here is part of the codebehind file (I removed unnecessary parts): using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using FirebirdSql.Data.Firebird; using FbData; using System.Configuration; namespace fire { public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox txtName; protected System.Web.UI.WebControls.TextBox txtEmail; protected System.Web.UI.WebControls.DropDownList cboActivated; protected System.Web.UI.WebControls.Button btnInsert; protected System.Web.UI.WebControls.DataGrid DataGrid1; FbDbObject dataT; //get the connection sctring from web.config static string myConnectionString = ConfigurationSettings.AppSettings["connStr"]; /********* in web.config *************/ <configuration> <appSettings> <add key="connStr" value="User=xxxxx;Password=xxxx;Database=f:\fire\data\firetest.fdb;DataSourc e=localhost;Port=3050;Dialect=3;Charset=ISO8859_1;Role=;Connection lifetime=30;Pooling=true;Packet Size=8192" /> </appSettings> </configuration> /********************************/ private void Page_Load(object sender, System.EventArgs e) { dataT = new FbDbObject(myConnectionString); ShowData(); } // Populates the datagrid private void ShowData() { DataGrid1.DataSource = dataT.RunProcedure("SELECT * FROM GET_CLIENTES","clientes"); DataGrid1.DataBind(); } //inserts new row private void btnInsert_Click(object sender, System.EventArgs e) { FbParameter[] parameters = {new FbParameter("@NAME",FbType.VarChar), new FbParameter("@EMAIL",FbType.VarChar), new FbParameter("@ACTIVATED",FbType.Char)}; parameters[0].Value = Server.HtmlEncode(txtName.Text); parameters[1].Value = Server.HtmlEncode(txtEmail.Text); parameters[2].Value = cboActivated.SelectedItem.Value; dataT.RunProcedure_1("EXECUTE PROCEDURE ADD_CLIENTE(@NAME,@EMAIL,@ACTIVATED)",parameters); ShowData(); } } } If I did anything wrong or if someone has ideas how to improve it, I welcome them :) Miguel |
From: Carlos G. A. <car...@te...> - 2003-06-20 14:28:21
|
Hello: > Here's some examples in VB one for a reader, a dataadapter, and a > ExecuteNonQuery. I save the result to an xml file that I can use later > instead of pounding the database with more queries. Note on the > ExecuteNonQuery you have to have a Commit to get it to work unlike SQL > Client or OleDb Client. Can I add these VB.NET samples to the Firebird .NET Data Provider distribution ?? :D -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Carlos G. A. <car...@te...> - 2003-06-20 14:25:38
|
Hello: > I need help and advise on how to manage the deployment of > FirebirdSql.Data.Firebird.dll > > My web applications are starting to build and currently I have a separate > bin folder under each web app containing the > FirebirdSql.Data.Firebird.dll > > But this is not going to be easy to manage. > > I know that there is a better way to do this - I would like one central > location that I can refer to, can I put the dll in the GAC ? If so how? Actual .NET Provider installation installs the dll in the GAC yet, if you want to make it by your own you can use gacutil program that ships with .NET Framework. -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Andrew G. <ag...@jc...> - 2003-06-20 13:44:40
|
All, I need help and advise on how to manage the deployment of FirebirdSql.Data.Firebird.dll My web applications are starting to build and currently I have a separate bin folder under each web app containing the FirebirdSql.Data.Firebird.dll But this is not going to be easy to manage. I know that there is a better way to do this - I would like one central location that I can refer to, can I put the dll in the GAC ? If so how? TIA, Andrew Goodall -----Original Message----- From: fir...@li... [mailto:fir...@li...] On Behalf Of fir...@li... Sent: Thursday, June 19, 2003 10:09 PM To: fir...@li... Subject: Firebird-net-provider digest, Vol 1 #125 - 2 msgs Send Firebird-net-provider mailing list submissions to fir...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/firebird-net-provider or, via email, send a message with subject or body 'help' to fir...@li... You can reach the person managing the list at fir...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Firebird-net-provider digest..." Today's Topics: 1. Events API implementation Status and a Question (Carlos Guzman Alvarez) 2. where to get .net provider and exmples (David B) --__--__-- Message: 1 Date: Thu, 19 Jun 2003 22:50:53 +0200 From: Carlos Guzman Alvarez <car...@te...> To: "Firebird .Net Provider" <fir...@li...> Subject: [Firebird-net-provider] Events API implementation Status and a Question Hello: Little by little and thanks to the Help of Tedd the Events API=20 implementation is in the right way, here is a little example of use: public static void Main(string[] args) { string connectionString =3D "User=3DSYSDBA;" + "Password=3Dmasterkey;" + @"Database=3DTESTDB.GDB;" + "DataSource=3Dlocalhost;" + "Port=3D3050;" + "Dialect=3D3;" + "Charset=3DNONE;" + "Role=3D;" + "Connection lifetime=3D15;" + "Pooling=3Dfalse;" + "Packet Size=3D8192"; FbConnection connection =3D new FbConnection(connectionString); connection.Open(); FbTransaction transaction =3D connection.BeginTransaction(); FbEvents fbEvents =3D new FbEvents(connection); FbEventAlertEventHandler e =3D new=20 FbEventAlertEventHandler(EventAlertHandler); fbEvents.EventAlert +=3D e; fbEvents.RegisterEvents("new row", "updated row"); // First Event Request fbEvents.QueEvents(); FbCommand command =3D new FbCommand("UPDATE test_table_01 SET char_field=20 =3D 'events test' WHERE INT_FIELD =3D 3", connection , transaction); =09 command.ExecuteNonQuery(); transaction.Commit(); =09 fbEvents.QueEvents(); transaction =3D connection.BeginTransaction(); // Second Event Request fbEvents.QueEvents(); command =3D new FbCommand("DELETE FROM test_table_01 WHERE int_field =3D 3", connection , transaction); command.ExecuteNonQuery(); =09 command.CommandText =3D "UPDATE test_table_01 SET char_field =3D 'events test'"; command.ExecuteNonQuery(); command.CommandText =3D "UPDATE test_table_01 SET char_field =3D 'events test 2'"; command.ExecuteNonQuery(); command.CommandText =3D "INSERT INTO test_table_01 (int_field) VALUES (3)"; command.ExecuteNonQuery();=09=09=09=09=09 transaction.Commit(); =09 fbEvents.QueEvents(); =09 connection.Close(); Console.ReadLine(); } public static void EventAlertHandler(object sender, FbEventAlertEventArgs e) { for (int i =3D 0; i < e.Counts.Length; i++) { Console.WriteLine(e.Counts[i]); } } Tedd has asked to me if the programmer should be responsible for calling=20 QueEvents each time an event is received? or should the provider do it? I think that it's better to left this responsability to the programmer=20 but i want to know opinions about this. --=20 Best regards Carlos Guzm=E1n =C1lvarez Vigo-Spain --__--__-- Message: 2 To: fir...@li... From: "David B" <NO_...@ya...> Date: Fri, 20 Jun 2003 14:40:10 +1200 Organization: Firebird and InterBase Community Site Subject: [Firebird-net-provider] where to get .net provider and exmples Hi, Could somebody please tell me where I can get the .Net provider for firebird and possibly a good xample of connecting to a database, issuing select statements, using stored procedures from VB.NET. I am been searching through the archieves for this group and think that I can piece together various bits of info to make a connection once I have the provider, although an example would be good. My back group has mostly been in classic ASP development to MS SQL databases, so hopefully I won't find this toooo hard. any help is very much appreciated. cheers martin. --__--__-- _______________________________________________ Firebird-net-provider mailing list Fir...@li... https://lists.sourceforge.net/lists/listinfo/firebird-net-provider End of Firebird-net-provider Digest |
From: Andrew G. <ag...@jc...> - 2003-06-20 13:33:27
|
http://info.borland.com/devsupport/interbase/opensource/ <-- where you can get interbase open source http://sourceforge.net/project/showfiles.php?group_id=9028 <--- see firebird-net-provider I'm using Webmatrix to code my asp.net webforms with VB codebehind. See http://www.asp.net/webmatrix/default.aspx?tabIndex=4&tabId=46 Hey I like as much free stuff as I can get my hands on :) Here's some examples in VB one for a reader, a dataadapter, and a ExecuteNonQuery. I save the result to an xml file that I can use later instead of pounding the database with more queries. Note on the ExecuteNonQuery you have to have a Commit to get it to work unlike SQL Client or OleDb Client. <%@ Page Language="VB" Debug="true" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="FirebirdSql.Data.Firebird" %> <script runat="server"> Dim public shared myConnectionString As String Dim public shared myConnection As FbConnection Dim public shared myTxn As FbTransaction Dim public shared selectCmd As String Dim public shared mycommand As FbCommand Dim public shared myReader As FbDataReader Dim shared myXMLfile As String = "data.xml" Sub Connect() myConnectionString = "Database=C:\\interbase\\xxx\\xxx.GDB;User=xxx;Password=xxx;Dialect=3;Server =localhost;Pooling=False" myConnection = new FbConnection(myConnectionString) End Sub Sub Page_Load(Sender As Object, E As EventArgs) If Not (IsPostBack) 'Start postback Connect() myConnection.Open() selectCmd ="SELECT * FROM TBLSYSTEMS" myTxn = myConnection.BeginTransaction() myCommand = new FbCommand(selectCmd,myConnection,myTxn) myReader = myCommand.ExecuteReader() selectsystem.DataSource = myReader selectsystem.DataBind() myReader.close() myTxn.Dispose() myCommand.Dispose() myConnection.Close() End If 'End postback End Sub Sub BindGrid() Dim dataAdapter As FbDataAdapter Dim DS As New DataSet() Connect() myConnection.Open() dataAdapter = new FbDataAdapter() myTxn = myConnection.BeginTransaction() selectCmd = "SELECT * FROM QRYDB(@sdate,@edate,@alias) " myCommand = new FbCommand(selectCmd,myConnection,MyTxn) myCommand.parameters.add("@sdate",fbtype.date) myCommand.parameters("@sdate").value = DateAdd("h",-1,DateTime.Now) myCommand.parameters.add("@edate",fbtype.date) myCommand.parameters("@edate").value = DateAdd("h",1,DateTime.Now) myCommand.parameters.add("@alias",fbtype.VARCHAR,20) myCommand.parameters("@alias").value = strCPU Try dataAdapter.SelectCommand = myCommand dataAdapter.Fill(DS, "TempInfo") 'filldataset mydatagrid.DataSource = DS.Tables("TempInfo") mydatagrid.DataBind() dataAdapter.Dispose() myTxn.Dispose() myCommand.Dispose() myConnection.Close() Message2.Style("color") = "green" Message2.InnerHtml = "Matching Records = " & myDataGrid.Items.Count Catch Exp As FbException Message.Style("color") = "red" Message.InnerHtml = "ERROR:" & Exp.Message & "<br>" & selectcmd myTxn.Dispose() myCommand.Dispose() myConnection.Close() Exit Sub End Try DS.WriteXml(Server.MapPath(myXMLfile),XmlWriteMode.WriteSchema) End Sub Sub BindXML() Dim myDataSet as New DataSet() Dim fsReadXml As New System.IO.FileStream(Server.MapPath(myXMLfile), System.IO.FileMode.Open) Dim myView As New DataView() Try myDataSet.ReadXml(fsReadXml) myView = myDataSet.Tables(0).DefaultView mydatagrid.DataSource = myView mydatagrid.DataBind() Message2.Style("color") = "green" Message2.InnerHtml = "Matching Records = " & myDataGrid.Items.Count Catch ex As Exception Message.Style("color") = "red" Message.InnerHtml = ex.message.ToString() Finally fsReadXml.Close() End Try End Sub Sub GetNew(Sender As Object, E As EventArgs) BindGrid() End Sub Sub UseSaved(Sender As Object, E As EventArgs) BindXML() End Sub Sub MyDataGrid_Add(Sender As Object, E As DataGridCommandEventArgs) Connect() myConnection.Open() Dim InsertCmd As String Insertcmd = "INSERT INTO INFOAR(MSGNO, SEVERITY, MSG, KEYWORD) values(@msgno,@sev,@msg,'NONE')" myTxn = myConnection.BeginTransaction() MyCommand = New FbCommand(InsertCmd, MyConnection, myTxn) MyCommand.Parameters.Add("@msgno", FbType.Integer) MyCommand.Parameters("@msgno").Value = E.Item.Cells(6).Text MyCommand.Parameters.Add("@sev", FbType.VarChar, 18) MyCommand.Parameters("@sev").Value = E.Item.Cells(7).Text MyCommand.Parameters.Add("@msg", FbType.VarChar, 250) MyCommand.Parameters("@msg").Value = E.Item.Cells(8).Text Try MyCommand.ExecuteNonQuery() myTxn.Commit() myTxn.Dispose() myCommand.Dispose() Message.Style("color") = "Green" Message.InnerHtml = "<b>Record has been Added.</b><br>" Message2.Style("color") = "green" Message2.InnerHtml = "Matching Records = " & myDataGrid.Items.Count myConnection.Close() Catch Exp As FbException myTxn.Rollback() myTxn.Dispose() myCommand.Dispose() Message.Style("color") = "red" Message.InnerHtml = Exp.Message myConnection.Close() End Try End Sub Hope this is of help. Regards, Andrew Goodall. |
From: <CAR...@te...> - 2003-06-20 08:26:16
|
Hello=3A =3E Could somebody please tell me where I can get the =2ENet provider = =3E for firebird http=3A//www=2Eibphoenix=2Ecom/main=2Enfs=3Fa=3Dibphoenix=26page=3Dibp=5F= download=23NET =3E and possibly a good xample of connecting to a database=2C issuing sel= ect =3E statements=2C using stored procedures from VB=2ENET=2E There are some examples that ships with the =2Enet data provider but all = of them are in C=23 -- Best regards Carlos Guzm=E1n =C1lvarez Vigo-Spain |
From: Miguel M <bo...@ne...> - 2003-06-20 03:21:31
|
If u want an example in C# (connecting, running stored procedures) i can give it to you ""David B"" <NO_...@ya...> wrote in message news:bcts6o$ovf$1...@ne...... > Hi, > > Could somebody please tell me where I can get the .Net provider for firebird > and possibly a good xample of connecting to a database, issuing select > statements, using stored procedures from VB.NET. > > I am been searching through the archieves for this group and think that I > can piece together various bits of info to make a connection once I have the > provider, although an example would be good. > > My back group has mostly been in classic ASP development to MS SQL > databases, so hopefully I won't find this toooo hard. > > any help is very much appreciated. > > > cheers > > martin. > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |
From: David B <NO_...@ya...> - 2003-06-20 02:40:47
|
Hi, Could somebody please tell me where I can get the .Net provider for firebird and possibly a good xample of connecting to a database, issuing select statements, using stored procedures from VB.NET. I am been searching through the archieves for this group and think that I can piece together various bits of info to make a connection once I have the provider, although an example would be good. My back group has mostly been in classic ASP development to MS SQL databases, so hopefully I won't find this toooo hard. any help is very much appreciated. cheers martin. |
From: Carlos G. A. <car...@te...> - 2003-06-19 20:51:03
|
Hello: Little by little and thanks to the Help of Tedd the Events API implementation is in the right way, here is a little example of use: public static void Main(string[] args) { string connectionString = "User=SYSDBA;" + "Password=masterkey;" + @"Database=TESTDB.GDB;" + "DataSource=localhost;" + "Port=3050;" + "Dialect=3;" + "Charset=NONE;" + "Role=;" + "Connection lifetime=15;" + "Pooling=false;" + "Packet Size=8192"; FbConnection connection = new FbConnection(connectionString); connection.Open(); FbTransaction transaction = connection.BeginTransaction(); FbEvents fbEvents = new FbEvents(connection); FbEventAlertEventHandler e = new FbEventAlertEventHandler(EventAlertHandler); fbEvents.EventAlert += e; fbEvents.RegisterEvents("new row", "updated row"); // First Event Request fbEvents.QueEvents(); FbCommand command = new FbCommand("UPDATE test_table_01 SET char_field = 'events test' WHERE INT_FIELD = 3", connection , transaction); command.ExecuteNonQuery(); transaction.Commit(); fbEvents.QueEvents(); transaction = connection.BeginTransaction(); // Second Event Request fbEvents.QueEvents(); command = new FbCommand("DELETE FROM test_table_01 WHERE int_field = 3", connection , transaction); command.ExecuteNonQuery(); command.CommandText = "UPDATE test_table_01 SET char_field = 'events test'"; command.ExecuteNonQuery(); command.CommandText = "UPDATE test_table_01 SET char_field = 'events test 2'"; command.ExecuteNonQuery(); command.CommandText = "INSERT INTO test_table_01 (int_field) VALUES (3)"; command.ExecuteNonQuery(); transaction.Commit(); fbEvents.QueEvents(); connection.Close(); Console.ReadLine(); } public static void EventAlertHandler(object sender, FbEventAlertEventArgs e) { for (int i = 0; i < e.Counts.Length; i++) { Console.WriteLine(e.Counts[i]); } } Tedd has asked to me if the programmer should be responsible for calling QueEvents each time an event is received? or should the provider do it? I think that it's better to left this responsability to the programmer but i want to know opinions about this. -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Ivan - <pre...@bk...> - 2003-06-16 08:44:37
|
> > Related to this question, I'm downloading the mono C# > > compiler tools, but I wondered how (and perhaps why > > not) I might build the source for the .NET provider > > within VS.NET2003? I want to pull out the exception > > throw when transaction is found to be null - I don't > > quite understand any reason the transaction is always > > required. > > The transaction is always required beacuse Firbird requires it always > :), i can modify the provider for "solve" this ?? yes, i like this ?? in > first place no :), if you start always a transaction your code will work > with both Firebird and SQL Server ( and other too ). I am using VS.NET 2002. It compiles sources of FB.NET provider pretty good. Just add all the source files of provider (all files with .cs extension from "source" folder and subfolders) to your c# code, and that's all. You can't just pull out the exception when transaction==null, because each statement in firebird server requires a valid transaction (This requirement sounds really unusual on "select" statements, but in firebird or interbase you can select from stored procedure, which updates data). But you can add code that checks transaction, and if it's null, then start new transaction and commit it after executing statement. |
From: Alan M. <al...@me...> - 2003-06-15 13:32:09
|
> Thanks for jumping in here! > Jason, What you are probably unaware of is that all transaction based SQL databases require transactions to do all things... read , update and delete. What you are being insulated from with MSSQL and with many ODBC drivers is that when you issue the select statement, it starts a transaction (an implicit one) for you and commits it after giving you the answer (result set). All half decent drivers will also give you the opportunity to include more than one statement in this transaction by way of opening (starting manually) your own explicit transaction, issuing serverl astatements and then explicitly closing the transaction. If you explicitly open a transaction you must explicitly close it (commit or rollback). If you leave it to the implicit transaction, then each and every statement that you issue will be carried out under it's very own little transaction. Hope this helps Alan |
From: Carlos G. A. <car...@te...> - 2003-06-15 12:57:57
|
Hello: > Now, I still don't understand why Firebird MUST have a > transaction for reading, but then it really doesn't > matter, though - it works! Well i can try to modify this on the .NET Provider for ExecuteReader and ExecuteScalar , opinions ?? -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Carlos G. A. <car...@te...> - 2003-06-15 11:29:59
|
Hello: > I think the material I commented out is important, but > there must be an MS equivalent I'm not including. I'll > download NANT and try with that (never heard of it > before now - and I can't yet figure out how to build > it with Mono). For mono on Linux the Provider has a makefile, for Windows you can try to build it with NAnt. >// >============================================================== >// at the following Commit, an >"InvalidOperationException" fires >// >============================================================== > trans->Commit(); > dataReader->Close(); Try this: dataReader->Close(); trans->Commit(); -- Best regards Carlos Guzmán Álvarez Vigo-España |
From: Jason V. <jas...@ya...> - 2003-06-15 11:18:37
|
Thanks for jumping in here! Here's an example of the problem I'm having. This is a slightly modified version of the example found on MSDN for SqlDataReader and such. As Carlos pointed out, if I use the transaction for Sql2000 (MS), it should work for all users. I still can't get my mind to accept just WHY a transaction is required to read data, as it isn't for most SQL engines I've used thus far, and from ADO (while my ODBC connector trial was still working), Firebird didn't require them either, as I could tell. The example below is in two sections, the first is for Firebird, the second (commented out) is for MS SQL. I switch to that by removing the comment blocks, and commenting out the upper portion for Firebird. The target is compiled for a managed target, console application (as setup from MSDN), so "letting go" of pointers like it does is "acceptable" - though not so much to me - it works without complaint in MS SQL, and illustrates the problem. In the Firebird version, the trans->Commit() causes an "InvalidOperationException" - so it can't continue. Since the "ExecuteReader" won't work without a transaction, I'm at a loss for just how to use the same connection a second time without first closing it. On the other hand, the MS SQL version runs as it is, and runs fine without the transaction object. I tried replacing the commit with rollback, and just letting the transaction fall out of scope. Rollback fires the same exception as commit, and even when the transaction object falls out of scope, the connection still has a transaction open, and won't allow another reader to be executed (even when the previous reader is closed). What am I not understanding here? BTW, I tried building the source for the Firebird provider in VS.NET 2003. I created a managed DLL target, tossed in all of the CS modules, relocated the "SNK" file, and with only commenting out the System.Drawing and the "ToolBox" entry, it compiled without errors or complaints. However, for reasons I don't yet understand, while the target applications link properly, the fire an exception complaining they can't find the assembly, even when RegASM is used, and the original Firebird....dll is tucked away elsewhere. I think the material I commented out is important, but there must be an MS equivalent I'm not including. I'll download NANT and try with that (never heard of it before now - and I can't yet figure out how to build it with Mono). #using <mscorlib.dll> using namespace System; #using "System.dll" #using "System.Data.dll" #using "d:\firebirdnetprovider\FirebirdSql.Data.Firebird.dll" using namespace System::ComponentModel; using namespace System::Data; using namespace System::Data::SqlClient; using namespace FirebirdSql::Data::Firebird; void main() { // Query user for user id and password // Connect to the SQL Database and issue a SELECT command all in one statement String *query = "SELECT * FROM DEPARTMENT"; // build connect string with the userid and password String *connectString = "Database=d:\\firebird\\examples\\employee.fdb;User=xxxxxx;Password=xxxxxxx;Dialect=3;Server=192.168.0.1;"; //You can use this format if you are connecting with a known user name and password, // however it is not recommended to store these in the source for security reasons //String *connectString = S"Data Source=localhost;Database=Northwind;UID=sa;Password=;"; FbConnection* sqlconn = new FbConnection(connectString); sqlconn->Open(); FbCommand *sqlCommand = new FbCommand(query, sqlconn); FbTransaction *trans = sqlconn->BeginTransaction(); sqlCommand->Transaction = trans; // Create a SqlDataReader to enumerate the result of executing the command against the database. FbDataReader *dataReader = sqlCommand->ExecuteReader(); // Find number of columns in result int numCols = dataReader->FieldCount; // Display number of columns returned from query Console::Write(S"No. of columns:"); Console::WriteLine(numCols); // Display the data, separated by tabs while(dataReader->Read()) { for (int c = 0; c < numCols; c++) { Console::Write(dataReader->Item[c]->ToString()); Console::Write(S"\t"); } Console::WriteLine(S""); } // ============================================================== // at the following Commit, an "InvalidOperationException" fires // ============================================================== trans->Commit(); dataReader->Close(); sqlCommand = new FbCommand(query, sqlconn); trans = sqlconn->BeginTransaction(); sqlCommand->Transaction = trans; // Create a SqlDataReader to enumerate the result of executing the command against the database. dataReader = sqlCommand->ExecuteReader(); // Find number of columns in result numCols = dataReader->FieldCount; // Display number of columns returned from query Console::Write(S"No. of columns:"); Console::WriteLine(numCols); // Display the data, separated by tabs while(dataReader->Read()) { for (int c = 0; c < numCols; c++) { Console::Write(dataReader->Item[c]->ToString()); Console::Write(S"\t"); } Console::WriteLine(S""); } trans->Commit(); dataReader->Close(); } /* void main() { // Query user for user id and password // Connect to the SQL Database and issue a SELECT command all in one statement String *query = S"SELECT * FROM [Order Details]"; // build connect string with the userid and password String *connectString = S"Data Source=192.168.0.1;Database=Northwind;UID=xxxxxxx;Password=xxxxxxxxx;"; //You can use this format if you are connecting with a known user name and password, // however it is not recommended to store these in the source for security reasons //String *connectString = S"Data Source=localhost;Database=Northwind;UID=sa;Password=;"; SqlConnection* sqlconn = new SqlConnection(connectString); sqlconn->Open(); SqlTransaction *trans = sqlconn->BeginTransaction(); SqlCommand *sqlCommand = new SqlCommand(query, sqlconn); sqlCommand->Transaction = trans; // Create a SqlDataReader to enumerate the result of executing the command against the database. SqlDataReader *dataReader = sqlCommand->ExecuteReader(); // Find number of columns in result int numCols = dataReader->FieldCount; // Display number of columns returned from query Console::Write(S"No. of columns:"); Console::WriteLine(numCols); // Display the data, separated by tabs while(dataReader->Read()) { for (int c = 0; c < numCols; c++) { Console::Write(dataReader->Item[c]->ToString()); Console::Write(S"\t"); } Console::WriteLine(S""); } trans->Commit(); dataReader->Close(); trans = sqlconn->BeginTransaction(); sqlCommand = new SqlCommand(query, sqlconn); sqlCommand->Transaction = trans; // Create a SqlDataReader to enumerate the result of executing the command against the database. dataReader = sqlCommand->ExecuteReader(); // Find number of columns in result numCols = dataReader->FieldCount; // Display number of columns returned from query Console::Write(S"No. of columns:"); Console::WriteLine(numCols); // Display the data, separated by tabs while(dataReader->Read()) { for (int c = 0; c < numCols; c++) { Console::Write(dataReader->Item[c]->ToString()); Console::Write(S"\t"); } Console::WriteLine(S""); } trans->Commit(); dataReader->Close(); } */ __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com |
From: Alan M. <al...@me...> - 2003-06-15 10:35:36
|
Jason, Don't forget that even a select statement needs to be committed since it will start a trasnaction whether you like it or not. I know there's no change but it still need to be committed. Alan > -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Jason Vene > Sent: Sunday, 15 June 2003 7:08 PM > To: fir...@li... > Subject: [Firebird-net-provider] Question: Why must I have a transaction > object supplied for command object? > > > Here's the situation: > > I want to perform a simple SELECT * FROM SALES, read > the data and still be able to use the open connection > to continue reading. > > I'm developing simultainous versions of the app using > both FbConnection/FbCommand/FbReader and > SqlConnection/SqlCommand/SqlReader from application > level objects that abstract to them. > > When I perform the "ExecutReader" on the command with > SqlCommand, I can do that without supplying a > SqlTransaction object, and continue to use the > connection on subsequent readers and such. > > With FbCommand, however, it throws an exception if the > transaction isn't supplied (which the source clearly > shows it requires, without option). > > This means I can't use the connection until that > transaction is committed or rolled back. I can't > commit the transaction, because there's nothing to > commit - I'm only reading the data. I can't rollback > either, both throw exceptions. > > Related to this question, I'm downloading the mono C# > compiler tools, but I wondered how (and perhaps why > not) I might build the source for the .NET provider > within VS.NET2003? I want to pull out the exception > throw when transaction is found to be null - I don't > quite understand any reason the transaction is always > required. > > Perhaps there's something else about this I simply > don't understand. > > Many thanks...... > > Jason > > > __________________________________ > Do you Yahoo!? > SBC Yahoo! DSL - Now only $29.95 per month! > http://sbc.yahoo.com > > > ------------------------------------------------------- > This SF.NET email is sponsored by: eBay > Great deals on office technology -- on eBay now! Click here: > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Carlos G. A. <car...@te...> - 2003-06-15 10:12:30
|
Hello: > Sorry for my ignoranza : > > dataset are not into System.Data Yes ( but the dataset is database independant ). > and System.Data not depending from MDAC? As i know no ( i think the OleDB and ODBC providers yes for obvious reasons ). -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: <cur...@li...> - 2003-06-15 10:07:21
|
Sorry for my ignoranza : dataset are not into System.Data and System.Data not depending from MDAC? Best regards Marco "Carlos Guzman Alvarez" <car...@te...> ha scritto nel messaggio news:3EE...@te...... > Hello: > > > i'm interested to develop an interface similary to Access using > > firebird engine ,Net Provider,C# and MDAC. > > Did you mean a Database Manager ?? ( I think you don't need MDAC ) > > > > > > -- > Best regards > > Carlos Guzmán Álvarez > Vigo-Spain |
From: Carlos G. A. <car...@te...> - 2003-06-15 09:46:15
|
Hello: > i'm interested to develop an interface similary to Access using > firebird engine ,Net Provider,C# and MDAC. Did you mean a Database Manager ?? ( I think you don't need MDAC ) -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Carlos G. A. <car...@te...> - 2003-06-15 09:44:42
|
Hello: > This means I can't use the connection until that > transaction is committed or rolled back. I can't > commit the transaction, because there's nothing to > commit - I'm only reading the data. I can't rollback > either, both throw exceptions. Can you send a test case ?? which exception are you getting ??. as i know this is working well. > Related to this question, I'm downloading the mono C# > compiler tools, but I wondered how (and perhaps why > not) I might build the source for the .NET provider > within VS.NET2003? I want to pull out the exception > throw when transaction is found to be null - I don't > quite understand any reason the transaction is always > required. The transaction is always required beacuse Firbird requires it always :), i can modify the provider for "solve" this ?? yes, i like this ?? in first place no :), if you start always a transaction your code will work with both Firebird and SQL Server ( and other too ). At this moment VS projects doesn't exists, you can build the provider using NAnt ( nant.sourceforge.net ) -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: <cur...@li...> - 2003-06-15 09:39:26
|
Hi all, i have a question : i'm interested to develop an interface similary to Access using firebird engine ,Net Provider,C# and MDAC. Is it possible or i have licensing limits for using MDAC to develop a similary product ? I'm not found a unique response ? Your opinion? Thank you in advance Best Regards Marco P.S. sorry for my english :-)) |
From: Jason V. <jas...@ya...> - 2003-06-15 09:08:11
|
Here's the situation: I want to perform a simple SELECT * FROM SALES, read the data and still be able to use the open connection to continue reading. I'm developing simultainous versions of the app using both FbConnection/FbCommand/FbReader and SqlConnection/SqlCommand/SqlReader from application level objects that abstract to them. When I perform the "ExecutReader" on the command with SqlCommand, I can do that without supplying a SqlTransaction object, and continue to use the connection on subsequent readers and such. With FbCommand, however, it throws an exception if the transaction isn't supplied (which the source clearly shows it requires, without option). This means I can't use the connection until that transaction is committed or rolled back. I can't commit the transaction, because there's nothing to commit - I'm only reading the data. I can't rollback either, both throw exceptions. Related to this question, I'm downloading the mono C# compiler tools, but I wondered how (and perhaps why not) I might build the source for the .NET provider within VS.NET2003? I want to pull out the exception throw when transaction is found to be null - I don't quite understand any reason the transaction is always required. Perhaps there's something else about this I simply don't understand. Many thanks...... Jason __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com |
From: Carlos G. A. <car...@te...> - 2003-06-14 18:41:13
|
Hello: I have commited to the CVS, branch "branch-release-1-1", the first revision of the Firebird Events API implementation, it's not finished yet, i want to make more test and add a new nunit test, but all comments and suggestions are welcome :) Thanks to Tedd for his feedback on this. -- Best regards Carlos Guzmán Álvarez Vigo-Spain |
From: Carlos G. A. <car...@te...> - 2003-06-14 09:53:43
|
Hello: > I am just starting to use the Firebird database and am using the .NET > component. Can I receive notifications for when the database (A table or > Row) changes and react to them in my code. I am not very experienced with > databases and I am not sure if this is the same thing as "triggers". If not > with the .Net component maybe with another component? Does anyone have any > Ideas? As Alan already tell to you i'm working in Events API implementation now, i hope to have it for testing soon :) -- Best regards Carlos Guzmán Álvarez Vigo-Spain "No tengo dones especiales.Sólo soy apasionadamente curioso" Albert Einstein, científico. |
From: Carlos G. A. <car...@te...> - 2003-06-14 09:53:41
|
Hello: > I am just starting to use the Firebird database and am using the .NET > component. Can I receive notifications for when the database (A table or > Row) changes and react to them in my code. I am not very experienced with > databases and I am not sure if this is the same thing as "triggers". If not > with the .Net component maybe with another component? Does anyone have any > Ideas? As Alan already tell to you i'm working in Events API implementation now, i hope to have it for testing soon :) -- Best regards Carlos Guzmán Álvarez Vigo-Spain "No tengo dones especiales.Sólo soy apasionadamente curioso" Albert Einstein, científico. |
From: Alan M. <al...@me...> - 2003-06-14 07:38:34
|
You need events and the events API is just being worked on at this time by Carlos. If you are not too experienced, then working with events may not be advisable anyway - it depends what you are really trying to do. You maybe be advised to raise your queries at the firebird support list - go to IBPhoenix.com to get the list address. Alan > -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of > Mike Lavender > Sent: Saturday, 14 June 2003 11:55 AM > To: fir...@li... > Subject: [Firebird-net-provider] Can I receive notifications of Events? > > > Hello, > > I am just starting to use the Firebird database and am using the .NET > component. Can I receive notifications for when the database (A table or > Row) changes and react to them in my code. I am not very experienced with > databases and I am not sure if this is the same thing as > "triggers". If not > with the .Net component maybe with another component? Does > anyone have any > Ideas? > > Thanks, > > Mike Lavender > > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: eBay > Great deals on office technology -- on eBay now! Click here: > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |