• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ADO.NET之9-非连接模式,内存中的数据库DataSet,DataTable—Shin

mysql 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

DataSet被称作数据集,可以比作内存中的数据库,DataSet为ADO.NET核心,支持ADO.NET断开式,分布式数据方案的核心对象也是实现基于非连接的数据查询核心组件 DataTable常用属性: 属性 说明 Columns 获取属于该表的列的集合 Rows 获取属于该表的行的集合 TableNam

DataSet被称作数据集,可以比作内存中的数据库,DataSet为ADO.NET核心,支持ADO.NET断开式,分布式数据方案的核心对象也是实现基于非连接的数据查询核心组件

DataTable常用属性:

属性 说明
Columns 获取属于该表的列的集合
Rows 获取属于该表的行的集合
TableName 获取或设置DataTable的名称

DataTable方法:

方法 说明
AcceptChanges 提交自上次调用AcceptChanges以来对该表进行的所有更改
Clear 清除DataTable内的所有数据
NewRow 创建与该表具有相同架构的新DataRow
using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SQLTest{    class Program    {        static void Main(string[] args)        {            ///连接数据库            DataSet ds = new DataSet();  //创建数据库DataSet对象            DataTable dt = new DataTable(); //创建数据库DataTable对象            ds.Tables.Add(dt); //将数据表对象加入数据集对象集合中            dt.Columns.Add("name", typeof(string));  //向DataTable中添加列            dt.Columns.Add("address", typeof(string));//向DataTable中添加列            DataRow dr = dt.NewRow();   //得到数据表,行对象            dr[0] = "潘潘";            dr[1] = "武汉";  //向行对象中添加数据            dt.Rows.Add(dr);            dt.Rows.Add(new object[] { "潘潘潘", "北京" }); //向数据行中添加新的对象            foreach(DataRow v in dt.Rows)            {                Console.WriteLine("{0} {1}", v[0], v[1]);            }            string connection =                "server=潘尚\\SQLEXPRESS;database=db_test;Trusted_Connection=true";            SqlConnection sc = new SqlConnection(connection);        //    sc.ConnectionString = connection;            try            {                sc.Open();  //打开数据库连接                Console.WriteLine("已经打开数据库连接!");//START:5.导出数据库中的记录//////////////////////////////////////////////////////////              /*  SqlCommand cmd = new SqlCommand("SELECT * FROM db_student", sc);                SqlDataReader sdr = cmd.ExecuteReader(); //执行查找记录命令                while(sdr.Read())                {                    Console.WriteLine("{0}{1}{2}{3}", sdr[0], sdr[1], sdr[2], sdr[3]);                }  *///END:5.导出数据库中的记录//////////////////////////////////////////////////////////////START:4.查询数据库记录//////////////////////////////////////////////////////////////      <i style="color:transparent">本文来源gaodai$ma#com搞$代*码*网(</i>        /*  SqlCommand cmd = new SqlCommand("SELECT count(*) FROM db_student", sc);                int i = (int)cmd.ExecuteScalar();//执行查找记录的命令                Console.WriteLine("表中共有{0}条数据", i.ToString());  *///END:4.查询数据库记录//////////////////////////////////////////////////////////////////START:3.修改数据库数据的代码////////////////////////////////////////////////////////             /*   SqlCommand cmd = new SqlCommand("UPDATE db_student SET student_grade=99 where student_name=@name", sc);  //创建SqlCommand对象                cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = "潘";                int i = cmd.ExecuteNonQuery();                if (i > 0) Console.WriteLine("修改成功!");   *///END:3.修改数据库数据的代码///////////////////////////////////////////////////////////START:1.删除数据库记录代码段///////////////////////////////////////////////////////               /* string cmdtext = "DELETE FROM db_student WHERE student_name=@name";                SqlCommand cmd = new SqlCommand(cmdtext, sc);                cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = "潘";                int i = cmd.ExecuteNonQuery();                if (i > 0) Console.WriteLine("删除记录成功!"); *///END:1.删除数据库记录代码段///////////////////////////////////////////////////////////START:2.添加记录的代码///////////////////////////////////////////////////////////////             /*   SqlCommand cmd = new SqlCommand();//创建SqlCommand对象                cmd.CommandType = CommandType.Text; //设置执行文本命令                cmd.Connection = sc; //设置对象属性                cmd.CommandText =                     "INSERT INTO db_student(student_name,student_age,student_address,student_grade)VALUES(@name,@age,@address,@grade)";                //添加参数并为参数赋值                cmd.Parameters.Add("@name", SqlDbType.VarChar, 10).Value = "潘";                cmd.Parameters.Add("@age", SqlDbType.Int).Value = 19;                cmd.Parameters.Add("@address", SqlDbType.VarChar).Value = "武汉";                cmd.Parameters.Add("@grade", SqlDbType.Int).Value = 100;                int i = cmd.ExecuteNonQuery(); //执行数据库添加记录命令                if (i > 0) Console.WriteLine("添加记录成功"); */  //控制台输出添加记录 //END:2.添加记录的代码/////////////////////////////////////////////////////////////////            }            catch (Exception ex)            {                Console.WriteLine("打开数据库错误:{0}", ex.Message);            }            finally            {                sc.Close();                Console.WriteLine("数据库连接已关闭!");            }                  System.Console.ReadLine();        }    }}

结果:

在未打开数据库连接之前,在内存中处理数据


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ADO.NET之9-非连接模式,内存中的数据库DataSet,DataTable—Shin
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址