C#程序连接数据库及读取数据库中字段的简单方法总结

yizhihongxing

针对您提出的问题,我将给出一份详细的攻略。

C#程序连接数据库及读取数据库中字段的简单方法总结

简介

在实际应用中,很多C#程序会需要连接数据库。本文将对于该问题进行探讨,并给出两条示例说明。

步骤

1. 导入所需要的命名空间

我们需要使用 System.Data.SqlClient 命名空间中的类来进行数据库连接和操作,所以我们需要在引入命名空间中添加该命名空间。

using System.Data.SqlClient;

2. 创建SqlConnection对象

这是连接数据库的第一步,我们需要创建一个SQL连接对象,并传递数据库连接字符串。数据库连接字符串描述了连接数据库的信息,包括服务器名称,用户名,密码,数据库名称等。

SqlConnection conn = new SqlConnection("连接字符串");

3. 打开连接

在完成上一步骤后,我们需要手动调用 Open 方法打开连接。连接打开时会尝试与数据库建立连接,如果连接成功,便可以执行后续的数据库操作。

// 打开连接
conn.Open();

4. 创建SqlCommand对象

SqlCommand 对象用于将 SQL 命令发送到数据库并执行命令。我们需要将需要发送的 SQL 命令以字符串形式进行创建,并传递给 SqlCommand 对象。

string sql = "SELECT * FROM table";
SqlCommand command = new SqlCommand(sql, conn);

5. 读取数据

至此,我们已经成功查询了数据库,接下来就是对查询结果进行数据读取的操作,具体的步骤如下:

// 获得查询结果的集合对象,也就是查询结果的行集合
SqlDataReader reader = command.ExecuteReader();

// 使用 while 循环,将查询结果的行记录一行一行读取出来
while (reader.Read())
{
    // 获取读取行记录的字段的值,并存入变量中
    string fieldValue = reader.GetString(reader.GetOrdinal("column_name"));
    // 在这里可以继续对 fieldValue 变量进行操作
}

// 关闭查询结果集合对象和连接
reader.Close();
conn.Close();

示例

下面提供两个更为详细的代码示例。

示例一

该示例展示了如何使用 C# 程序连接 Oracle 数据库,并读取其中一个表格的数据。

using System;
using System.Data;
using System.Data.OracleClient;
using System.Windows.Forms;

namespace OracleConnectionTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 连接字符串
        string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));User Id=system;Password=root";

        private void button1_Click(object sender, EventArgs e)
        {
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                try
                {
                    // 打开连接
                    conn.Open();

                    // SQL 查询语句
                    string sql = "SELECT * FROM EMPLOYEE";

                    using (OracleCommand cmd = new OracleCommand(sql, conn))
                    {
                        OracleDataReader reader = cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("EMP_ID")));
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("EMP_NAME")));
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("DEPT_ID")));
                            Console.WriteLine();
                        }

                        reader.Close();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
}

示例二

该示例展示了如何使用 C# 程序连接 SQLite 数据库,并读取其中一个表格的数据。

using System;
using System.Data;
using System.Data.SQLite;

namespace SQLiteConnectionTest
{
    class Program
    {
        // 连接字符串
        static string connStr = "Data Source=sqlite.db;Version=3;";

        static void Main(string[] args)
        {
            using (SQLiteConnection conn = new SQLiteConnection(connStr))
            {
                try
                {
                    // 打开连接
                    conn.Open();

                    // SQL 查询语句
                    string sql = "SELECT * FROM Employee";

                    using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                    {
                        SQLiteDataReader reader = cmd.ExecuteReader();

                        while (reader.Read())
                        {
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("EmpID")));
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("EmpName")));
                            Console.WriteLine(reader.GetString(reader.GetOrdinal("DeptID")));
                            Console.WriteLine();
                        }

                        reader.Close();
                    }

                    // 关闭连接
                    conn.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
}

结论

以上便是利用 C# 程序连接数据库及读取数据库中字段的方法总结。读者可以根据自己的实际需求和所使用的不同数据库,来完成相应的连接和读取操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#程序连接数据库及读取数据库中字段的简单方法总结 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Express作者TJ告别Node.js奔向Go

    Express作者TJ告别Node.js奔向Go 最近,Express.js的作者TJ Holowaychuk宣布放弃Node.js,改为使用Go语言来开发后端应用程序。这个消息一出,立刻引起了广泛关注和讨论。在本篇文章中,我们将详细讲解TJ向Go转换的完整攻略。 为什么TJ要放弃Node.js? 首先,我们需要了解TJ放弃Node.js背后的原因。在TJ发…

    database 2023年5月21日
    00
  • .net core实用技巧——将EF Core生成的SQL语句显示在控制台中

    下面是详细讲解“.net core实用技巧——将EF Core生成的SQL语句显示在控制台中”的完整攻略。 什么是EF Core? Entity Framework Core(EF Core)是一个跨平台开源ORM框架,可用于开发.NET平台上的应用程序。EF Core具有轻量级、可扩展性、高性能等优点,是.NET生态中最受欢迎的ORM框架之一。 为什么要显…

    database 2023年5月21日
    00
  • 解决python读取几千万行的大表内存问题

    解决Python读取几千万行的大表内存问题,一般有以下几种方法: 1. 逐行读取 可以使用pandas库中的read_csv()函数来逐行读取大表,以避免一次性将数据全部载入内存。将chunksize参数设置为适当的值,如10000行,则可以逐块读取数据。读取数据的代码示例如下: import pandas as pd data_reader = pd.re…

    database 2023年5月22日
    00
  • Python爬虫基础讲解之scrapy框架

    Python爬虫基础讲解之scrapy框架 1、Scrapy框架简介 Scrapy是一个开源的、基于Python语言的爬虫框架,用于抓取web站点并从中提取所需的信息。它的主要作用在于自动化爬取web站点上,并提供了很多有用的功能和工具,例如自动化处理重定向、cookie、形式提交和会话、可以配置多个存储抓取到的数据的输出格式等。 Scrapy的综合性能也十…

    database 2023年5月22日
    00
  • CentOS7.5 安装 Mysql8.0.19的教程图文详解

    下面是详细的攻略: CentOS7.5 安装 Mysql8.0.19的教程图文详解 环境准备 CentOS 7.5操作系统 足够的磁盘空间和内存空间 步骤一:下载 Mysql8.0.19 首先,需要到 MySQL 官网下载 Mysql8.0.19 的安装包。下载地址:https://dev.mysql.com/downloads/mysql/。 根据系统和版…

    database 2023年5月22日
    00
  • 使用shell脚本来给mysql加索引的方法

    当需要对MySQL的表格加索引时,我们可以使用shell脚本来实现。下面是该过程的完整攻略。 1. 创建shell脚本 首先,需要创建一个shell脚本,脚本文件名可以为“add_index.sh”,并在脚本里添加以下代码: #!/bin/bash # 定义变量 DB_NAME="your_db_name" TABLE_NAME=&quo…

    database 2023年5月22日
    00
  • C#拼接SQL语句 用ROW_NUMBER实现的高效分页排序

    接下来我会详细讲解如何使用C#拼接SQL语句实现高效分页排序,并附上两条示例说明。 什么是ROW_NUMBER? 首先,我们需要了解一下ROW_NUMBER函数的作用。ROW_NUMBER是SQL Server中的一种分析函数,用于给每一行数据加上行号。通过ROW_NUMBER,我们可以方便地实现分页和排序。 如何使用ROW_NUMBER进行分页排序? 使用…

    database 2023年5月21日
    00
  • Cassandra和RDBMS的区别

    Cassandra和RDBMS是两种不同类型的数据库管理系统。下面我详细讲解Cassandra和RDBMS的区别,并附上相应的实例说明。 Cassandra和RDBMS的结构 Cassandra是NoSQL数据库,采用键值对存储数据。Cassandra本质上是一种分布式键值存储系统,所有数据都被散列存储在多个节点上。它的结构比较扁平,表设计灵活,能够存储大量…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部