C#操作数据库简介_c# 数据库简介(1)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

string connString = “{Microsoft Access Driver(*.mdb)};Dbq = “F:\student.mdb”;”;

定义好连接字符串后,使用OdbcConnection建立连接对象:

OdbcConnection oConn = new OdbcConnection(connString);

3、打开数据库连接

打开数据库使用Open方法,但在试图打开数据连接时会发生错误,因此常采用如下的异常控制方法(这里假设打开SqlClient模式下连接,实际上只不过连接对象的名字不同而已):

try
            {
                     sConn.Open();
            }
            catch(Exception ex)
            {
                      MessageBox.Show(“发生错误:”+ex.Message);
                     //Console.WriteLine(“发生错误:”+ex.Message); //在控制台下使用这种方式
            }

4、Command命令对象的应用

Command用于向数据库传输的命令的对象,其构造函数常用两个参数,一个参数是所使用的 命令文本(CommandText),另一个为所使用的连接对象Connection。根据不同的数据库连接模式,其形式也不同,SqlCommand对 应着SqlClient模式;OleDbCommand对应着OleDb模式,OdbcCommand对应着Odbc模式。

假设我们想使用SqlClient模式查询Sql Server中testDB数据库中student表中的xh(学号)、xm(姓名)和xb(性别)三列的值,则可以建立如下的命令对象(sConn参见建立的连接sConn:

SqlCommand sCmd = new SqlCommand(“SELECT xh,xm,xb FROM student”,sConn);

亦可使用如下的形式:

SqlCommand sCmd = new SqlCommand();
        sCmd.CommandText = “SELECT xh,xm,xb FROM student”;
       sCmd.Connection = sConn;

命令对象常用的有三个方法:ExecuteReader(), ExecuteNonQuery()和ExecuteScalar()。ExecuteReader方法用于返回查询结果的全部数据。 ExecuteNonQuery方法用于返回所影响的行数,一般用于Insert、Update和Delete操作。ExecuteScalar方法返回 结果中的第一行第一列的值。

5、数据读取器DataReader

DataReader用于从返回来的数据区中读取数据。其根据使用的数据连接模式不同也有不同的形式:SqlDataReader对应着SqlClient模式,OleDbDataReader对应着OleDb模式,OdbcDataReader对应着Odbc模式。

数据读取器应与命令对象配合使用,下面接着4中的例子来写:

SqlDataReader sdr = null;
        sdr = sCmd.ExecuteReader();     //执行命令对象,并用sdr指向结果集的第一条记录。
        while(sdr.Read())   //每读取一条记录后,指向其下一条记录
       {
             Console.WriteLine(“学号:{0},姓名:{1},性别:{2}”,sdr[“xh”],sdr[“xm”],sdr[“xb”]);   //或使用下面的格式
           // Console.WriteLine(“学号:{0},姓名:{1},性别:{2}”,sdr[0],sdr[1],sdr[2]); 
       }
       sdr.Close();      //关闭读取器

6、数据集DataSet和数据适配器DataAdapter

一般数据集和数据适配器是密不可分的,下面先介绍数据适配器。

数据适配器可以容纳一组数据命令和一个数据库连接对象,这与Command对象不同, Command只有一个数据命令和一个数据库连接。数据适配器根据不同的连接模式也有不同的形式:SqlDataAdapter、 OleDbDataAdapter和OdbcDataAdapter。下面给出SqlClient模式下数据适配器的定义方式:

SqlDataAdapter sda = new SqlDataAdapter(“SELECT xh,xm,xb FROM student”,sConn);

第一个参数是用到的SQL语句,第二个参数是数据连接。也可以使用一个命令对象传递上面的信息。即:

SqlDataAdapter sda = new SqlDataAdapter(sCmd);

下面再介绍一下DataSet,DataSet是在内存中缓存的数据集,包括数据本身,还包括定义在数据上的约束和关系等信息。数据集中可以包含0个这样的数据对象。不管使用什么样的数据库连接模式,其只有唯一的形式。其定义方法如下:

DataSet ds = new DataSet();

定义完数据集后,就可以调用数据适配器的Fill方法来填充数据集:

sda.Fill(ds);

也可以在填充的同时,指定表名:

sda.Fill(ds,“Student”);

可以使用下面的方法读取数据集中的数据信息:

int rowNum = ds.Tables[“Student”].Rows.Count;     //获得数据集表student表中的行数

int columnNum = ds.Tables[“Student”].Columns.Count; //获得数据集表student中的列数

for(int i = 0; i < rowNum; i ++)
        {
           for(int j = 0; j < columnNum; j ++)
              {
                    Console.Write(ds.Tables[“student”].Columns[j].ColumnName+“:”+ds.Tables[“student”].Rows[i][j].ToString();
             }
             Console.WriteLine();

}

下面给出一个数据库操作的例子。假设在Sql Server中有一个数据库test,其存放着一个数据表名为student,其结构为student(xh,xm,xb,mz),下面使用SqlClient模式连接数据库:

/**************************************

*

* 本程序演示数据库的操作

* 使用Sql Server2000数据库操作

*

* ************************************/

using System;

//引入命名空间

using System.Data;

using System.Data.SqlClient;

class DbOper

{

static void Main()

{

//定义连接字符串

string connString;

connString=“server=.;uid=sa;pwd=;database=test;”;

//定义连接对象sConn

SqlConnection sConn = new SqlConnection(connString);

try

{

//打开连接

sConn.Open();

}

catch(Exception ex)

{

//给出错误信息

Console.WriteLine(“连接错误:”+ex.Message);

}

//定义SQL查询语句

string sql;

sql = “select * from student”;

//定义命令对象sCmd

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值