65.9K
CodeProject 正在变化。 阅读更多。
Home

FireBird SqlAssistant - 一个 FireBird SQL 数据块

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.16/5 (5投票s)

2007 年 1 月 16 日

viewsIcon

36053

downloadIcon

818

一个完全用 C# 编写的 FireBird .NET 数据访问块。支持嵌入式 SQL、INI 文件 SQL 和存储过程。

FireBird.SqlAssistant

FireBird.SqlAssistant

FireBird.SqlAssistant

FireBird.SqlAssistant

引言

在文章 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];
        }
© . All rights reserved.