Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)

简介: 本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。

在上一篇文章中,我们介绍了如何在Windows环境下安装CSDK及连接配置,并执行基本的数据库操作。本文将进一步介绍C#操作数据库的操作及C#代码示例,帮助您更高效地管理和操作数据库。

查看上篇链接:Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)

C#操作数据库
这里我使用的是 Visual Studio 2022 社区版开发工具。

1、创建并配置新项目
打开Visual Studio 2022,创建新项目,选择控制台应用(.NET Framework),点击下一步。

使用.NET Framework 4.8,创建控制台应用程序,指定项目名称为 ConsoleApp1,位置等。

2、添加GBS.Data.GBasedbt.dll引用
在解决方案管理器上的引用中,右键添加引用,浏览并增加 GBS.Data.GBasedbt.dll文件。

示例中的路径为:

C:\Program Files\GBase Client-SDK\bin\netf40\GBS.Data.GBasedbt.dll

3、C#代码示例
using System;
using GBS.Data.GBasedbt;
using System.Data;

namespace ConsoleApp1
{
internal class Program
{
static void Main()
{
var constr = "database=testdb1;server=yangzai;host=192.168.137.66;service=6666;protocol=onsoctcp;uid=gbasedbt;pwd=111111;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8";
var conres = logon(constr);

        if (conres != null)  
        {  
            execute_database(conres);  
            logoff(conres);  
        }            
    }  

    static IfxConnection logon(string constr)  
    {  
        var conn = new IfxConnection(constr);  
        try  
        {  
            conn.Open();  
            Console.WriteLine("数据库连接成功!\n");  
            return conn;  
        }  
        catch (Exception ex)  
        {  
            Console.WriteLine("数据库连接失败!" + ex.Message);  
            return null;  
        }  
    }  

    static void execute_database(IfxConnection conn)  
    {       
        IfxCommand ifxcmd = conn.CreateCommand();  
        ifxcmd.CommandText = "drop table if exists student";  
        ifxcmd.ExecuteNonQuery();  

       ifxcmd.CommandText = "create table student(num int,name varchar(100),class varchar(255))";  
        ifxcmd.ExecuteNonQuery();  

       ifxcmd.CommandText = "insert into student values (1001,'小张','计算机科学与技术3班')";  
        ifxcmd.ExecuteNonQuery();  

        ifxcmd.CommandText = "insert into student values (1002,'小明','电子信息工程1班')";  
        ifxcmd.ExecuteNonQuery();  

        ifxcmd.CommandText = "insert into student values (1003,'小李','土木工程4班')";  
        ifxcmd.ExecuteNonQuery();  

ifxcmd.CommandText = "update student set class = '新闻传播专业2班' where num = 1001";  
        ifxcmd.ExecuteNonQuery();  

        ifxcmd.CommandText = "delete student where num = 1003";  
        ifxcmd.ExecuteNonQuery();  

        ifxcmd.CommandText = "select dbinfo('version','full') from dual";  
        IfxDataReader dr = ifxcmd.ExecuteReader();  

        if (dr.Read())  
        {  
          Console.WriteLine("当前数据库版本号为:" + dr[0] + '\n');  
        }  

        IfxDataAdapter ifxadpt = new IfxDataAdapter("select * from student", conn);  
        DataSet ds = new DataSet();  
        ifxadpt.Fill(ds);  
        Console.WriteLine("student表查询结果如下:\n");  
        int i = 0;  
        for (i = 0; i < ds.Tables.Count; i++)  
        {  
            var tb1 = ds.Tables[i];  
            var count = tb1.Rows.Count;  

            for (int r = 0; r < tb1.Rows.Count; r++)  
            {  
                for (int c = 0; c < tb1.Columns.Count; c++)  
                {  
                    var colname = tb1.Columns[c].ColumnName;  
                    var value = tb1.Rows[r].ItemArray[c];  
                    Console.WriteLine(colname + " " + value);  
                }  
                Console.Write("\n");  
            }  
            Console.WriteLine(count + " row(s) retrieved.\n");  
        }  
    }  

    static void logoff(IfxConnection conn)  
    {  
        try  
        {  
            conn.Close();  
            Console.WriteLine("数据库连接断开成功!\n");  
        }  
        catch (Exception ex)  
        {  
            Console.WriteLine("数据库连接断开失败:" + ex.Message);  
        }  
    }  
}  

}
4、程序运行结果
将上面示例代码复制到Program.cs中,执行Debug测试连接到数据库结果。

通过本系列文章的探讨,您应该对使用C#通过ADO.NET操作GBase 8s数据库有了更全面的理解。掌握这些技巧将使您能够构建更高效、更可靠的数据库应用。感谢您的阅读。

附录
GBase 8s数据库文档:官方文档

ADO.NET编程指南:Microsoft Docs

相关文章
|
8月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
538 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
11月前
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
269 12
|
11月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
12月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
12月前
|
存储 机器学习/深度学习 监控
南大通用GBase 8s数据库onbar基础使用教程
数据备份与恢复是确保数据安全和业务连续性的关键。onbar作为GBase 8s数据库的备份工具,需配合存储管理器使用,通过配置BAR_BSALIB_PATH等参数,实现数据的备份与恢复。本文详细介绍了onbar的配置、备份、恢复及监控流程,帮助数据库管理员构建高效的数据保护方案。
|
12月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
11月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
296 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
423 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
223 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
242 0

热门文章

最新文章