嵌入式firebird+VS2015实例六

示例FbConnectionStringBuilderTest

FirebirdSql.Data.FirebirdClient,

提供了FbConnectionStringBuilder用于简化连接字符串操作。

建立VS2015 C#项目:FbConnectionStringBuilderTest

CharsetTest模板

使用FbConnectionStringBuilder获取连接字符串

1、在类publicpartialclassFrmMain : Form下加入以下代码:

        staticstringGetConnectionString()// 连接字符串

        {

            FbConnectionStringBuilder cs = newFbConnectionStringBuilder();

            cs.UserID = "SYSDBA";

            cs.Password = "masterkey";

            cs.Database = Application.StartupPath + "\\data\\测试.fdb";

            cs.DataSource = "localhost";

            cs.Charset = "UTF8";

            cs.Port = 3050;

            cs.Dialect = 3;

            cs.Role = "";

            cs.ConnectionLifeTime = 15;

            cs.Pooling = true;

            cs.MinPoolSize = 0;

            cs.MaxPoolSize = 50;

            cs.PacketSize = 8192;

            cs.ServerType = FbServerType.Embedded;

            return cs.ToString();

        }

2、去掉以下代码:

3、用“GetConnectionString()”替换黄色高亮部分代码:

 

完整代码:

using System;

using System.Data;

using System.Windows.Forms;

using System.IO;

using FirebirdSql.Data.FirebirdClient;

 

namespace FbConnectionStringBuilderTest

{

    publicpartialclassFrmMain : Form

    {

        public FrmMain()

        {

            InitializeComponent();

        }

        staticstringGetConnectionString()// 连接字符串

        {

            FbConnectionStringBuilder cs = newFbConnectionStringBuilder();

            cs.UserID = "SYSDBA";

            cs.Password = "masterkey";

            cs.Database = Application.StartupPath + "\\data\\测试.fdb";

            cs.DataSource = "localhost";

            cs.Charset = "UTF8";

            cs.Port = 3050;

            cs.Dialect = 3;

            cs.Role = "";

            cs.ConnectionLifeTime = 15;

            cs.Pooling = true;

            cs.MinPoolSize = 0;

            cs.MaxPoolSize = 50;

            cs.PacketSize = 8192;

            cs.ServerType = FbServerType.Embedded;

            return cs.ToString();

        }

        privatevoid btnCreateDB_Click(object sender, EventArgs e)

        {

            //创建数据库

            string path = Application.StartupPath + "\\data\\测试.fdb";

            if (File.Exists(path))

            {

                File.Delete(path);

                FbConnection.CreateDatabase(GetConnectionString());

                MessageBox.Show("文件存在,删除重建!");

            }

            else

            {

                FbConnection.CreateDatabase(GetConnectionString());

                MessageBox.Show("文件不存在,直接创建!");

            }

 

            //打开数据库

            FbConnection myConnection = newFbConnection(GetConnectionString());

            try

            {

                myConnection.Open();

                MessageBox.Show("Open a connection");

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

 

            //创建表

            FbCommand createTable = myConnection.CreateCommand();

            createTable.CommandText = "create table TestTBL (id int,\"姓名\" varchar(20))";

            createTable.ExecuteNonQuery();

            createTable.Dispose();

 

            //插入数据

            //插入数据一

            FbCommand insertData = myConnection.CreateCommand();

            insertData.CommandText = "insert into TestTBL values(@id, @name)";

            insertData.Parameters.Clear();

            insertData.Parameters.Add("@id", FbDbType.Integer).Value = 1;

            insertData.Parameters.Add("@name", FbDbType.VarChar, 20).Value = "张三";

            insertData.ExecuteNonQuery();

            //插入数据二

            insertData.CommandText = "insert into TestTBL values(@id, @胡作非为)";

            insertData.Parameters.Clear();

            insertData.Parameters.Add("@id", FbDbType.Integer).Value = 2;

            insertData.Parameters.Add("@胡作非为", FbDbType.VarChar, 20).Value = "李四";

            insertData.ExecuteNonQuery();

 

            insertData.Dispose();

 

            //读取数据

            FbCommand readData = myConnection.CreateCommand();

            readData.CommandText = "select * from TestTBL";

            FbDataReader Reader = readData.ExecuteReader();

            while (Reader.Read())

            {

                string str_Temp = Reader.GetString(0);

                MessageBox.Show(str_Temp);

                str_Temp = Reader.GetString(1);

                MessageBox.Show(str_Temp);

            }

            readData.Dispose();

 

            //DataGridView显示数据

            FbDataAdapter dt = newFbDataAdapter("select * from TestTBL", myConnection);

            DataSet ds = newDataSet();

            dt.Fill(ds, "TestTBL");

            this.dgViewDB.DataSource = ds;

            this.dgViewDB.DataMember = "TestTBL";

            dt.Dispose();

            ds.Dispose();

 

            //关闭连接

            myConnection.Close();

        }

    }

}

 

测试成功:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Firebird是一个开源的数据库系统,适用于Windows操作系统。根据引用[1]中提供的信息,可以选择适合你系统的Firebird版本进行安装。例如,如果你的系统是32位的,可以选择Firebird-2.5.2.26540_0_Win32进行安装;如果是64位的,可以选择Firebird-2.5.6.27020_0_x64进行安装。此外,你还需要下载FirebirdSql.Data.Firebird.dll作为在.NET平台下连接Firebird数据库的类库。 如果你想使用Firebird嵌入式数据库,你可以下载Firebird-2.5.9.27139-0_Win32_embed.zip并解压到本地磁盘。然后,将解压出来的目录下的firebird.msg文件和intl、udf两个子目录的所有内容复制到放置数据库文件的目录下。请注意,数据库文件可以放置在任何可访问的目录上,无需与应用程序放置在同一目录。接着,将解压出来的目录下的以下8个文件复制到Windows操作系统文件夹中的C:Windows\\SysWOW64\\,以及应用程序的DEBUG、Release目录中:fbembed.dll、firebird.conf、ib_util.dll、icudt30.dll、icuin30.dll、icuuc30.dll、msvcp80.dll、msvcr80.dll。 如果你想在应用程序中使用Firebird数据库,可以下载并安装Firebird .NET Provider,例如FirebirdSql.Data.FirebirdClient-7.1.1.msi。这样安装的好处是可以直接注册到GAC,否则需要手动注册到系统中。在应用程序中可以通过使用命令行工具PM(即Package Manager)执行"Install-Package FirebirdSql.Data.FirebirdClient"命令来直接安装相关包,也可以直接引用Firebird .NET Provider的dll文件(例如FirebirdSql.Data.FirebirdClient.dll)并将其添加为项目的引用。根据引用中提供的信息,Firebird是基于Borland公司的开源版数据库Interbase6.0发展而来的,它是一个完全非商业化的产品,使用C和C++开发。Firebird使用Mozilla Public License v.1.1许可证发行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [firebird.rar](https://download.csdn.net/download/qq_32822719/12000871)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Firebird 32-bit Embedded 在Windows10环境下,基于Devexpress的XPO 调用配置](https://blog.csdn.net/ktcserver/article/details/103232016)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值