ADO.NET之9-非连接模式,内存中的数据库DataSet,DataTable---Shin
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.查询数据库记录////////////////////////////////////////////////////////////// /* 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(); } } }
结果:
在未打开数据库连接之前,在内存中处理数据

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

对于机械硬盘、或SATA固态硬盘,软件运行速度的提升会有感觉,如果是NVME硬盘,可能感觉不到。一,注册表导入桌面新建一个文本文档,复制粘贴如下内容,另存为1.reg,然后右键合并,并重启电脑。WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

本站9月3日消息,韩媒etnews当地时间昨日报道称,三星电子和SK海力士的“类HBM式”堆叠结构移动内存产品将在2026年后实现商业化。消息人士表示这两大韩国内存巨头将堆叠式移动内存视为未来重要收入来源,计划将“类HBM内存”扩展到智能手机、平板电脑和笔记本电脑中,为端侧AI提供动力。综合本站此前报道,三星电子的此类产品叫做LPWideI/O内存,SK海力士则将这方面技术称为VFO。两家企业使用了大致相同的技术路线,即将扇出封装和垂直通道结合在一起。三星电子的LPWideI/O内存位宽达512

本站6月7日消息,金邦(GEIL)在2024台北国际电脑展上推出了其最新DDR5解决方案,而且给出了SO-DIMM、CUDIMM、CSODIMM、CAMM2和LPCAMM2等版本可选。▲图源:Wccftech如图所示,金邦展出的CAMM2/LPCAMM2内存采用非常紧凑的设计,最高可提供128GB的容量,速度最高可达8533MT/s,其中部分产品甚至可以在AMDAM5平台上稳定超频至9000MT/s,且无需任何辅助散热。据介绍,金邦2024款PolarisRGBDDR5系列内存最高可提供8400

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

本站7月23日消息,微电子标准制定方JEDEC固态技术协会当地时间22日宣布,DDR5MRDIMM和LPDDR6CAMM内存技术规范即将正式推出,并介绍了这两项内存的关键细节。DDR5MRDIMM中的“MR”即MultiplexedRank(多路复用列),这意味着该内存支持两个或以上的Rank(列),并可在单个通道上组合和传输多个数据信号,无需额外的物理连接就能有效提升带宽。JEDEC规划了多代DDR5MRDIMM内存,目标最终将其带宽提升至12.8Gbps,较DDR5RDIMM内存目前的6.4

在 7600MT/s、8000MT/s这样的超高频旗舰内存价格普遍较高的情况下,雷克沙出手了,他们推出了名为战神之翼 ARES RGB DDR5 的全新内存系列,拥有 7600 C36 和 8000 C38 两种规格可选,16GB*2 套条的价格分别为 1299 元和 1499 元,性价比非常高。本站拿到了 8000 C38 版本的战神之翼,接下来就给大家带来它的开箱图赏。雷克沙战神之翼 ARES RGB DDR5 内存的包装设计精良,采用醒目的黑红配色搭配彩色印刷。包装左上角设有专属 &quo

本站5月16日消息,雷克沙品牌母公司江波龙发布消息,在CFMS2024上展示了内存新形态——FORESEELPCAMM2。FORESEELPCAMM2搭载了LPDDR5/5x颗粒,可兼容315ball和496ball设计,支持7500MT/s及以上的频率,产品容量可提供16GB、32GB、64GB多种选择。在产品工艺方面,FORESEELPCAMM2采用全新的设计架构,将4颗x32LPDDR5/5x内存颗粒直接封装在压缩连接器上,实现了单个内存模块上的128位内存总线,提供比标准内存条更高效的封

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())
