FireBird SqlAssistant - 一个 FireBird SQL 数据块






1.16/5 (5投票s)
2007 年 1 月 16 日

36053

818
一个完全用 C# 编写的 FireBird .NET 数据访问块。支持嵌入式 SQL、INI 文件 SQL 和存储过程。
引言
在文章 Firebird SQL 的数据应用程序块 中,Alex 提供了一个很棒的库,用于开始使用 FireBird。我尝试在某些方面改进该库。您也可以查看 FireBird SqlHelper - FireBird 的数据访问应用程序块,以获得类似于 Microsoft 数据访问块 V2 的数据访问块。关注点
以下功能可能更受关注:- FireBird.SqlAssistant 完全是无状态的。
- 体积小巧,FireBird.SqlAssistant.dll 为 24kb。
- 支持快速的 INSERT、UPDATE、DELETE、SELECT、SELECTALL 方法。
- 支持将长的 SELECT 查询放在 INI 文件 'Query.ini' 中。这在某些项目的代码维护中可能很有帮助。
- 通过简化 Alex 的 DataBlockFirebirdSQL 的函数签名,简化了存储过程调用。
- 提供了许多方便的辅助函数,例如 GetCount 等。
Using the Code
以下是可供下载的演示项目中的一些示例调用。您可以简单地在您的项目中添加 FireBird.SqlAssistant 的引用,并调用SQLAssistant 静态
函数。private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = SQLAssistant.GetIniQuery("MyQuery1");
this.textBox2.Text = SQLAssistant.GetIniQuery("MyQuery2");
}
private void button1_Click(object sender, EventArgs e)
{
this.RefreshData();
}
private void RefreshData()
{
this.dataGridView1.DataSource = SQLAssistant.Execute("SELECT * FROM COUNTRY").Tables[0];
}
private void button2_Click(object sender, EventArgs e)
{
string c = SQLAssistant.GetCount("COUNTRY").ToString();
string v1 = "ACountry" + c;
string v2 = "ACurr" + c;
SQLAssistant.Insert("COUNTRY", "COUNTRY", v1, "CURRENCY", v2);
this.RefreshData();
MessageBox.Show("COUNTRY='" + v1 + "' added successfully");
}
private void button3_Click(object sender, EventArgs e)
{
DataTable table = SQLAssistant.Select("COUNTRY", "COUNTRY", "USA").Tables[0];
if (table == null || table.Rows.Count == 0)
{
MessageBox.Show("COUNTRY='USA' not found");
return;
}
DataRow row = table.Rows[0];
row["CURRENCY"] = "$";
SQLAssistant.Update("COUNTRY", table.Rows[0], "COUNTRY", "USA");
MessageBox.Show("CURRENCY='Dollar' is successfully updated to '$'");
this.RefreshData();
}
private void button4_Click(object sender, EventArgs e)
{
SQLAssistant.Insert("COUNTRY", "COUNTRY", "TestCountry", "CURRENCY", "None");
DataTable table = SQLAssistant.Select("COUNTRY", "COUNTRY", "TestCountry").Tables[0];
if (table == null || table.Rows.Count == 0)
{
MessageBox.Show("COUNTRY='TestCountry' not found");
return;
}
DataRow row = table.Rows[0];
SQLAssistant.Delete("COUNTRY", row);
MessageBox.Show("COUNTRY='TestCountry' is deleted successfully");
this.RefreshData();
}
private void button6_Click(object sender, EventArgs e)
{
this.dataGridView2.DataSource = SQLAssistant.ExecuteIni("MyQuery1").Tables[0];
}
private void button5_Click(object sender, EventArgs e)
{
this.dataGridView2.DataSource = SQLAssistant.ExecuteIni("MyQuery2").Tables[0];
}
private void button7_Click(object sender, EventArgs e)
{
this.dataGridView3.DataSource = SQLAssistant.ExecuteDataSet("ORG_CHART ", null).Tables[0];
}