Click here to Skip to main content
15,869,972 members
Articles / Programming Languages / C#
Article

FireBird SqlHelper - A Data Access Application Block for FireBird

Rate me:
Please Sign up or sign in to vote.
4.80/5 (6 votes)
17 Jan 2007CPOL2 min read 70.8K   2.9K   39   7
FireBird.SqlHelper is a C# porting of Microsoft Data Access Application Block V2. Just like the Microsoft Data Access Application Block V2, FireBird.SqlHelper encapsulates performance and resource management best practices and can easily be used as a building block in your own .NET FireBird applicat
Sample Image - FireBirdSqlHelper.jpg

Introduction

FireBird.SqlHelper is a C# porting of Microsoft Data Access Application Block V2. Just like the Microsoft Data Access Application Block V2, FireBird.SqlHelper encapsulates performance and resource management best practices and can easily be used as a building block in your own .NET FireBird application. If you use it, you will reduce the amount of custom code you need to create, test and maintain.

Features

A pre-written data access library is always handy. Basically FireBird SqlHelper has similar features as MSDAB. Following are the important features: The FireBird SqlHelper Data Access Application Block for .NET consists of a single .NET-based assembly, which contains all of the functionality necessary to perform the most common data access tasks against a FireBird database. Specifically, the Data Access Application Block helps you:

  • Call stored procedures or SQL text commands
  • Specify parameter details
  • Return SqlDataReader, DataSet objects, or single values
  • Use strongly typed table and field names
  • Support parameter caching, where required
  • Allow additional tables to be added by passing in pre-existing datasets
  • Update a dataset with user-specified update commands
  • Create SqlCommand objects
  • Allow strongly typed data rows to be passed in place of parameters

Using the Code

Compile FireBird.SqlHelper project and add the reference of FireBird.SqlHelper.dll in your application. Following are the important methods that you could use:

  • ExecuteNonQuery - Executes a command that does not return rows
  • ExecuteDataset - Executes a command that returns rows as a DataSet
  • ExecuteReader - Executes a command that returns rows as a SqlDataReader
  • ExecuteScalar - Executes a command that returns a single value as an object
  • FillDataset - Executes a command that populates a DataSet that is provided as a parameter
  • UpdateDataset - Executes a given command for each inserted, updated, or deleted row in a DataSet
  • CreateCommand - Creates a command object given a stored procedure and parameters
  • ExecuteNonQueryTypedParams - Executes a command that does not return rows using a DataRow’s column values as parameters
  • ExecuteDatasetTypedParams - Executes a command that returns rows as a DataSet using a DataRow’s column values as parameters
  • ExecuteReaderTypedParams - Executes a command that returns rows as a SqlDataReader using a DataRow’s column values as parameters.
  • ExecuteScalarTypedParams - Executes a command that returns a single value as an object using a DataRow’s column values as parameters.

The following code is from the demo application:

C#
private void RefreshData()
{
    this.dataGridView1.DataSource = 
    SqlHelper.ExecuteDataset(SQLHelp.Connectionstring, CommandType.Text, 
    "SELECT * FROM COUNTRY").Tables[0];
}

You could call a stored procedure like:

C#
SqlHelper.ExecuteReader(connectionString, "getProductsByCategory",  categoryID);

You could download MSDAB V2 with documentation from here.

The documentation along with MSDAB covers everything about the SqlHelper class which also applies to FireBird SqlHelper.

There are also a great deal of samples available for MSDAB V2 which you could also use for FireBird SQLHelper.

History

  • 17th January, 2007: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Pakistan Pakistan
Software engineer developing solutions using Microsoft technologies.

Comments and Discussions

 
Questionhi,how to update a table Pin
xuyunhai21-Sep-11 0:50
xuyunhai21-Sep-11 0:50 
AnswerRe: hi,how to update a table Pin
xuyunhai21-Sep-11 15:52
xuyunhai21-Sep-11 15:52 
i read msdn,changed my false like this.

C#
FbCommand fbcInsert = new FbCommand("INSERT INTO ACCOUNT (USERNAME, USERLEVER, USERPASSWORD)  VALUES ('" + txtUserName.Text.Trim() + "', 1, '" + txtNewPw.Text.Trim() + "')");
FbCommand fbcDelete = new FbCommand("Delete from ACCOUNT where USERNAME = '"+txtUserName.Text.Trim()+"'");

FbCommand fbcUpdate = new FbCommand("update account set userpassword = " + txtRetryPw.Text.Trim() + " where username = '" + txtUserName.Text.Trim()+"'");


SqlHelper.UpdateDataset(
                           fbcInsert,
                           fbcDelete,
                           fbcUpdate,
                           dsChangePw,
                           "Table"
                           );


but still unchanged,why,please teach me,thanks
GeneralYou can get beeter and simple one Pin
sam4u2u13-Nov-09 16:34
sam4u2u13-Nov-09 16:34 
GeneralFirebird SQLHelper Pin
buyValu11-Dec-07 11:18
buyValu11-Dec-07 11:18 
GeneralStored Procedures Pin
buyValu5-Jun-07 8:22
buyValu5-Jun-07 8:22 
QuestionUsing with Visual Studio 2003 pro Pin
AndrewPoole30-Jan-07 23:24
AndrewPoole30-Jan-07 23:24 
AnswerRe: Using with Visual Studio 2003 pro Pin
Rafey30-Jan-07 23:57
Rafey30-Jan-07 23:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.