已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 获取数据7.1 ADO.NET简介ADO.NET 是与C#和 Microsoft.NET framework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据。这包括关系数据库,比如Microsoft Access 和SQL Server,以及其他数据库,甚至还包括非关系数据源。ADO.NET被集成到.NET framework,用于.NET语言。ADO.NET包含System.Data名称空间中的一组对象,System.Data名称空间可以通过.NET的数据提供者(provider)与数据库通信。ADO.NET的名称来源于ADO(ActiveX Data Objects),这是用途广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。ADO.NET的主要目标是提供对关系数据的简单访问功能。ADO.NET提供两个核心组件:DataSet和.NET数据提供者程序。ADO.NET DataSet组件为ADO.NET提供断开式结构服务,它的设计是为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源。.NET数据提供者程序用于连接到数据源,检索、修改数据源中的数据。开发人员可以将检索到的结果放入ADO.NET DataSet。在实际应用中,.NET数据提供者程序在数据源和ADO.NET DataSet之间起着桥梁的作用。ADO.NET提供了两种内置的ADO.NET数据提供者,一种是OLE DB.NET数据提供程序,用于使用OLE DB公开的数据源(如Microsoft Access),另一种是SQL Server.NET提供者程序,用于使用Microsoft SQL Server7.0或更高版本。另外,Microsoft最近预演了用于ADO.NET的ODBC.NET提供者,它允许.NET访问更多的旧的数据格式和第三方数据库。7.2 使用ADO.NET访问数据库7.2.1 ADO.NET类和对象概述可以把类分为.NET提供者对象和用户对象。提供者对象专用于每一种类型的数据源;专用于提供者的对象完成在数据源中实际的读取和写入工作。用户对象是将数据读入到内存中后用来访问和操纵数据的对象。用户对象以非连接方式使用;提供者对象要求活动的连接,可以使用它们首先读取数据,然后根据需要,通过用户对象使用内存中的数据,通过使用者对象更新数据源中的数据,并将变动写回到数据源中。7.2.2 提供者对象即在每一个.NET数据提供者中定义的对象,其名称前带有专用于提供者的名称。1连接对象Connection连接对象是您要使用的第一个对象,被要求用于任何其他ADO.NET对象之前。它提供了到数据源的基本连接。专用于提供者的名称包括用于SQL Server7.0 的SqlConnection 和用于 OLE DB 的 OleDbConnection。2 命令对象Command可以使用此对象发出命令,比如对数据源的查询,专用于提供者的名称包括用于SQL Server 的SqlCommand 和用于 OLE DB 的 OleDbCommand。3 CommandBuilder对象此对象用于构建SQL命令,可以在基于单一表查询的对象中进行数据修改。专用于提供者的名称包括用于SQL Server7.0 的SqlCommandBuilder和用于OLE DB 的OleDbCommandBuilder。4 DataReader对象可以从数据源中读取仅能前向和只读的数据流。此对象具有最好的功能,可以简单地读取数据;专用于提供者的名称包括用于SQL Server7.0的SqlDataReader和用于OLE DB的OledbDataReader。5 DataAdapter对象提供连接DataSet对象和数据源的桥梁,DataAdapter使用Command对象在数据源中执行SQL命令,对数据源进行各种操作,包括更新变动的数据,填充数据集以及其他操作。专用于提供者的名称包括用于SQL Server7.0的SqlDataAdapter和用于OLE DB的OledbAdapter。7.2.3 用户对象DataSet此对象表示一组相关表,在应用程序中这些表作为一个单元被引用。有了此对象,就可以快速从每一个表中获取所需要的数据,当与服务器断开时检查并修改数据,然后在一次操作中使用这些修改的数据更新服务器。DataSet具有属性,使得您可以访问低级对象,这些对象代表单独的表、行、列和关系。这些对象是:1. DataTable对象此对象代表在DataSet中的表。可以在DataSet中存储多个DataTable对象。2. DataRow对象此对象代表来自表的关联数据的行。可以在DataTable中存储多个DataRow对象。3.DataColumn 对象此对象代表表中的列。可以在DataRow中存储多个DataColumn对象。4. DataRelation对象此对象代表通过共享列而发生关系的两个表之间的关系。7.2.4 使用System.Data名称空间在C#代码中使用ADO.NET的第一步是引用System.Data名称空间,其中含有所有的ADO.NET类。1. SQL Server.NET数据提供者如果您使用的是SQL Server(版本7或更高级的版本)或MSDE,则通过使用SQL Server专用的.NET数据提供者就可以获得最好的性能和对基础性的功能的最直接的访问,按如下方式使用using 指令可以引用SQL Server 专用的.NET数据提供者:using System.Data.SqlClient;2. OLE DB.NET提供者对于不是SQL Server7.0或以上版本的大多数数据源(Microsoft Access, Oralce 以及其他数据源)可以使用OLE DB.NET数据提供者,按如下方式使用using指令引用它:using System.Data.OleDb;*7.3 在VS中访问数据例题1:建立SQL Server数据库student,显示其中一个表xs的记录内容,并可查询、修改、删除其记录。(参见D:GZC#ado数据库sql 程序)一 建立SQL Server数据库启动Microsoft SQL Server企业管理器Microsoft SQL Servers SQL Servers组local(Windows NT) 右键单击数据库单击新建数据库输入新建数据库名(student)右键单击 student单击新建表,输入表中各字段定义,确定主键关闭该窗口并以xs为名存储右键单击xs表单击打开表单击返回所有行输入表中各记录值关闭该窗口。二将C#应用程序与数据库连接1. 建立数据适配器到数据库的连接在工具箱中单击“数据”标签双击“SqlDataAdapter”,打开“数据适配器配置向导”单击“下一步”选“新建数据库连接”,打开“数据链接属性”对话框输入服务器名(选择默认的即可),选择“使用windows集成安全”,在服务器上选择数据库“student”,点击“测试连接”按钮,显示“连接成功”单击“确定”单击“下一步”选择“使用SQL语句”,单击“下一步”单击“查询生成器”添加表xs选“*”,单击“确定”单击“下一步”单击“完成”此时,表单下添加了两个对象,即sqlDataAdapter1和sqlConnection1。数据适配器包含我们希望从数据库中返回的数据的基本信息,是.NET数据提供者的一个组件,用于将来自数据库的数据填充到DataSet中,并将在DataSet中的变化返回到数据库中。sqlConnection对象包含了ADO.NET 用来连接到数据库的所有信息。2.添加DataSet右键单击刚才创建的sqlDataAdapter1选择“生成数据集”选择“新建”DataSet1,选择“添加到数据集中的表xs”单击“确定”此时Form下添加了一个新的对象DataSet11,同时,解决方案中添加了一个新文件DataSet1.xsd。此文件是DataSet的模式。XSD(XML模式定义)模式是一个文档,通过它,我们可以验证XML文档的结构,XML是用于表示数据的文本格式。因为DataSet在后台使用XML组织数据,此文件由VS自动生成,它规定了数据集、每一个表及表之间的关系的结构。3.文本框与数据库数据的绑定在表单上创建文本框txtxh,在其DataBindings属性细目上,单击其text部分,出现datasete11-xs-xh xm,单击“xh”,则txtxh与xs表中的xh字段绑定。同样方法,可将另一个文本框txtxm与xm字段绑定。这仅仅意味着在文本框中可以看见数据集中的数据,用户在文本框中所作的任何变化都可以反映到DataSete中。但这不会影响数据源(即数据库)中的数据,除非用更新命令修改表中数据。4.上述操作仅定义了来自表中的数据的结构,还没有定义实际的数据,下面的命令是通知数据适配器填充DataSet,即使应用程序获取数据:可单击表单(Form)背景,进入代码编辑器,(或制作一查询按钮,在其事件处理程序中,)写如下代码: this.sqlDataAdapter1.Fill(this.dataSet11,0,0,”xs”);Fill()方法使用来自数据源的数据填充DataSet中的DataTable。此方法带有4个参数。第一个参数规定希望填充的DataSet,在此就是dataSet11 。第二个参数规定,应该从第几个记录开始。第三个参数规定返回几个记录。如果设为0,则返回所有记录。第4个参数规定生成数据的表的名称,在此就是xs。现在,保存并运行该程序,可在文本框中看到xs表中的首行记录值。5.添加导航按钮,以便看到表中全部记录。见源程序代码。6.使用DataGrid浏览表中所有数据在其DataSouce属性中设置dataset11.xs主要代码如下:static void Main() Application.Run(new Form1();private void Form1_Load(object sender, System.EventArgs e)/this.sqlDataAdapter1.Fill(this.dataSet11,0,0,xs);private void btnback_Click(object sender, System.EventArgs e)this.BindingContextthis.dataSet11,xs.Position-;private void btnnext_Click(object sender, System.EventArgs e)this.BindingContextthis.dataSet11,xs.Position+;private void btnupdate_Click(object sender, System.EventArgs e)this.sqlDataAdapter1.Update(this.dataSet11.xs);private void btnqer_Click(object sender, System.EventArgs e)this.dataSet11.Clear();this.sqlDataAdapter1.Fill(this.dataSet11,0,0,xs);private void btnreset_Click(object sender, System.EventArgs e)this.dataSet11.Clear();*例题2:建立Access数据库,显示其中一个表的记录内容,并可查询、修改、删除其记录。(参见D:GZC#备课Database1程序)static void Main() Application.Run(new DateBase2();private void Form1_Load(object sender, System.EventArgs e)/this.oleDbDataAdapter1.Fill(this.dataSet11,0,0,t1);private void buttonback_Click(object sender, System.EventArgs e)this.BindingContextthis.dataSet11,t1.Position-;private void buttonnext_Click(object sender, System.EventArgs e)this.BindingContextthis.dataSet11,t1.Position+;private void buttonupdate_Click(object sender, System.EventArgs e)this.oleDbDataAdapter1.Update(this.dataSet11.t1);private void buttonq_Click(object sender, System.EventArgs e)this.dataSet11.Clear();this.oleDbDataAdapter1.Fill(this.dataSet11,0,0,t1);private void buttonr_Click(object sender, System.EventArgs e)this.dataSet11.Clear(); 7.4使用SQL Server.NET数据提供者应用举例例题1:用ADO.NET访问SQL数据库在数据库魏菊丽20086666中建立student表,其中含sno(主键),sname,ssex,sage,sdept等字段。在Form1中制作一个 comboBox控件,该控件含有CS,IS,MA三个系的选项,让用户通过该控件选择查询学生所在系,在dataGridView控件中显示查询结果。代码详见d:gzc#ado数据库ado_combox2005 程序1.“数据库ado_combox2005”程序界面:2. 其中,控件comboBox1中项目(Items)的设置:3.“数据库ado_combox”程序中“查询按钮”运行结果界面:4.“数据库ado_combox2005”程序代码:/用户添加System.Data.SqlClient,可以引用SQL Server专用的.NET数据提供者using System.Data.SqlClient;/以下button1_Click是“数据库ado_combox”程序“查询”按钮代码private void button1_Click(object sender, System.EventArgs e)/生成连接对象实例thisConnection连接SQL Server数据库魏菊丽20086666SqlConnection thisConnection=new SqlConnection(Data Source= localhost;Integrated Security=SSPI;Initial Catalog=魏菊丽20086666);/*创建并返回一个与thisConnection相关联的SqlCommand 对象实例thisCommand,同时获取或设置要对数据源执行的SQL语句*/SqlCommand thisCommand=new SqlCommand(select * from student where sdept=+comboBox1.Text+,thisConnection); /创建一个SqlDataAdapter 对象实例thisAdapterSqlDataAdapter thisAdapter=new SqlDataAdapter();/获取一个SQL语句,用于在数据源中选择记录thisAdapter.SelectCommand=thisCommand;DataSet thisDataSet=new DataSet();/生成数据集实例thisDataSetthisConnection.Open();/打开本次设置的数据库连接/将以上在数据源中选择的记录的所有行填充到数据集中,仍然命名为表student。thisAdapter.Fill(thisDataSet, student);/*设置 dataGridView1的数据源为数据集中的数据*/ this.dataGridView1.DataSource=thisDataSet.Tables0;thisConnection.Close();/断开本次数据库连接例题2:用ADO.NET访问SQL数据库建立student数据库,在该库中建立xs表,其中含xh(主键),xm字段。在Form1中制作一个 dataGridView控件用来浏览数据库表中的数据。制作一个ListBox用来显示查询结果。制作若干按钮,分别完成浏览、添加、修改、删除、查询表中记录的功能。详见d:gz.C#课件2006新教案数据库sqlado 程序1.本题界面设计如下:2.代码如下:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Data.SqlClient;/用户自己添加,可以引用SQL Server专用的.NET数据提供者static void Main() Application.Run(new Form1(); /以下功能是浏览数据库student中的xs表的所有记录private void btnliulan_Click(object sender, System.EventArgs e)/用SqlConnection对象实例thisConnection连接SQL Server数据库studentSqlConnection thisConnection=new SqlConnection(Data Source=localhost;Integrated Security=SSPI;Initial Catalog=student);/创建一个SqlDataAdapter 对象实例thisAdapteSqlDataAdapter thisAdapter=new SqlDataAdapter(); /生成数据集实例DataSet thisDataSet=new DataSet();/创建并返回一个与SqlConnection相关联的SqlCommand 对象SqlCommand thisCommand=thisConnection.CreateCommand();/获取或设置要对数据源执行的SQL语句thisCommand.CommandText=select xh,xm from xs;thisAdapter.SelectCommand =thisCommand ;/获取一个SQL语句,用于在数据源中选择记录thisConnection.Open();/打开本次设置的数据库连接/将以上在数据源xs中选择的记录的所有行填充到数据集中,仍然命名为表xs。thisAdapter.Fill(thisDataSet,xs);thisConnection.Close();/断开本次数据库连接/*设置 dataGridView1的数据源为数据集中的数据*/this.dataGridView1.DataSource = thisDataSet.Tables0; /以下功能是查询数据库student中的xs表中姓“a”的所有记录/以下代码是显示查询结果的另一种方法,即显示在listBox1中。private void btnchaxun_Click(object sender, System.EventArgs e)this.listBox1.Items.Clear();SqlConnection thisConnection=new SqlConnection(Data Source=laptop;Integrated Security=SSPI;Initial Catalog=student);SqlCommand thisCommand=thisConnection.CreateCommand();thisCommand.CommandText=select xm from xs where xm like a%;thisConnection.Open();/*ExecuteReader()创建读取器对象,用于读取生成的结果,将带有所包含的结果的该读取器指派给thisReader*/ SqlDataReader thisReader=thisCommand.ExecuteReader();/*Read()方法从查询中读取单独的一行数据.若有多个数据要读,则返回true;如果没有,则返回false.*/while(thisReader.Read()/*当Read()返回true时,输出结果。SqlDataReader对象提供索引符属性,允许引用列*/this.listBox1.Items.Add(thisReaderxm); thisReader.Close();thisConnection.Close(); /以下功能是向数据库student中的xs表添加新记录private void btntj_Click(object sender, System.EventArgs e)SqlConnection thisConnection=new SqlConnection(Data Source=localhost;Integrated Security=SSPI;Initial Catalog=student);SqlDataAdapter thisAdapter=new SqlDataAdapter();DataSet thisDataSet=new DataSet();SqlCommand thisCommand=thisConnection.CreateCommand();thisCommand.CommandText=select xh,xm from xs ;thisAdapter.SelectCommand =thisCommand ;thisConnection.Open();SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);thisAdapter.Fill(thisDataSet, xs);DataRow thisRow=thisDataSet.Tablesxs.NewRow();/在数据集的 xs Table中创建新行thisRowxh=555;thisRowxm=QQ;/设置新行中的个字段值thisDataSet.Tablesxs.Rows.Add(thisRow);/将新行添加到数据集的 xs Table中thisAdapter.Update(thisDataSet,xs);/ 修改数据库表thisConnection.Close();/以下功能是修改数据库student中的xs表的记录private void btnxg_Click(object sender, System.EventArgs e)SqlConnection thisConnection=new SqlConnection(Data Source=localhost;Integrated Security=SSPI;Initial Catalog=student);SqlDataAdapter thisAdapter=new SqlDataAdapter();DataSet thisDataSet=new DataSet();SqlCommand thisCommand=thisConnection.CreateCommand();thisCommand.CommandText=select xh,xm from xs ;thisAdapter.SelectCommand =thisCommand ;thisConnection.Open();SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);thisAdapter.Fill(thisDataSet, xs); thisDataSet.Tablesxs.Rows5xm=qq;thisAdapter.Update(thisDataSet,xs);thisConnection.Close(); /以下功能是删除数据库student中的xs表的记录private void btnsc_Click(object sender, System.EventArgs e)SqlConnection thisConnection=new SqlConnection(Data Source=localhost;Integrated Security=SSPI;Initial Catalog=student);SqlDataAdapter thisAdapter=new SqlDataAdapter();DataSet thisDataSet=new DataSet();SqlCommand thisCommand=thisConnection.CreateCommand();thisCommand.CommandText=select xh,xm from xs ;thisAdapter.SelectCommand =thisCommand ;thisConnection.Open(); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); thisAdapter.Fill(thisDataSet, xs);DataColumn keys=new DataColumn1;keys0=thisDataSet.Tablesxs.Columnsxh;/key0的值为该数据集xs Table中的xh值 thisDataSet.Tablesxs.PrimaryKey=keys;/设xh为主键DataRow findRow=thisDataSet.Tablesxs.Rows.Find(555);/获取包含指定主键值555的行/ Call Update command to mark change in tableif(findRow !=null) /若找到该行findRow.Delete();/删除该行thisAdapter.Update(thisDataSet,xs);/修改数据库表thisConnection.Close();private void dataGrid1_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)*7.5 使用OLE DB.NET数据提供者应用举例1.使用ADO.NET获取表中的数据。(参见D:GZC#备课DATA程序)using System;using System.Data;using System.Data.OleDb;namespace DATAclass DataReaderAccessExamplestatic void Main(string args)OleDbConnection thisConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:gzc#备课db1.mdb);thisConnection.Open();/打开连接对象,建立了到数据库的连接OleDbCommand thisCommand=thisConnection.CreateCommand();/CreateCommand()方法可创建与此连接相关联的命令thisCommand.CommandText =SELECT xh,xm FROM t1;/命令本身被指派给命令对象的CommandText属性OleDbDataReader thisReader=thisCommand.ExecuteReader();/*ExecuteReader()创建读取器对象,用于读取生成的结果,将带有所包含的结果的该读取器指派给thisReader*/while(thisReader.Read()/*Read()方法从查询中读取单独的一行数据.若有多个数据要读,则返回true;如果没有,则返回false.*/Console.WriteLine(t0t1,thisReaderxh,thisReaderxm);/*当Read()返回true时,输出结果OleDbDataReader对象提供索引符属性,允许引用列,作为按列名称的数组引用*/thisReader.Close();thisConnection.Close();2.使用ADO.NET修改表中的数据。(参见D:GZC#备课ModiData程序)sing System;using System.Data;using System.Data.OleDb;namespace UpdatingDataclass Class1static void Main(string args)/ Specify SQL Server-specific connection stringOleDbConnection thisConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:gzc#备课db1.mdb);thisConnection.Open();/ Create DataAdapter object for update and other operationsOleDbDataAdapter thisAdapter = new OleDbDataAdapter( SELECT xh, xm FROM t1, thisConnection);/ Create CommandBuilder object to build SQL commandsOleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);/ Create DataSet to contain related data tables, rows, and columnsDataSet thisDataSet = new DataSet();/ Fill DataSet using query defined previously for DataAdapterthisAdapter.Fill(thisDataSet, t1);/ Show data before changeConsole.WriteLine(name before change: 0, thisDataSet.Tablest1.Rows0xm);/ Change data in t1 table, row 0, xm columnthisDataSet.Tablest1.Rows0xm = ppp;/ Call Update command to mark change in tablethisAdapter.Update(thisDataSet, t1);Console.WriteLine(name after change: 0,thisDataSet.Tablest1.Rows0xm);3.使用ADO.NET添加表中数据行。(参见D:GZC#备课AddRow程序)using System;using System.Data;using System.Data.OleDb;namespace UpdatingDataclass Class1static void Main(string args)/ Specify SQL Server-specific connection stringOleDbConnection thisConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:gzc#备课db1.mdb);thisConnection.Open();/ Create DataAdapter object for update and other operationsOleDbDataAdapter thisAdapter = new OleDbDataAdapter( SELECT xh, xm,XB,NL FROM t1, thisConnection);/ Create CommandBuilder object to build SQL commandsOleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);/ Create DataSet to contain related data tables, rows, and columnsDataSet thisDataSet = new DataSet();/ Fill DataSet using query defined previously for DataAdapterthisAdapter.Fill(thisDataSet, t1);/ Show data before changeConsole.WriteLine(#rows before change: 0, thisDataSet.Tablest1.Rows.Count );DataRow thisRow=thisDataSet.Tablest1.NewRow();thisRowxh=888;thisRowxm=WQ;thisRowxb=m;thisRownl=18;thisDataSet.Tablest1.Rows.Add(thisRow);/ Call Update command to mark change in tableConsole.WriteLine(#rows after change: 0,thisDataSet.Tablest1.Rows.Count );thisAdapter.Update(thisDataSet,t1);4.使用ADO.NET删除表中数据行。(参见D:GZC#备课DeleRow程序)using System;using System.Data;using System.Data.OleDb;namespace UpdatingDataclass Class1/ The main entry point for the application.static void Main(string args)/ Specify SQL Server-specific connection stringOleDbConnection thisConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:gzc#备课db1.mdb);thisConnection.Open();/ Create DataAdapter object for update and other operationsOleDbDataAdapter thisAdapter = new OleDbDataAdapter( SELECT xh, xm,xb,nl FROM t1, thisConnection);/ Create CommandBuilder object to build SQL commandsOleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);/ Create DataSet to contain related data tables, rows, and columnsDataSet thisDataSet = new DataSet();/ Fill DataSet using query defined previously for DataAdapterthisAdapter.Fill(thisDataSet, t1); / Show data before changeConsole.WriteLine(#rows before change: 0, th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建师范大学协和学院《统计学》2021-2022学年第一学期期末试卷
- 福建师范大学《中国传统音乐概论》2022-2023学年第一学期期末试卷
- 福建师范大学《教育史》2023-2024学年第一学期期末试卷
- 福建师范大学《高观点下的中学数学》2023-2024学年第一学期期末试卷
- 2024届上海市七宝高中高三第一次调研测数学试题
- 景阳冈课件教材帮
- 《机电一体化技术基础》 教案 卓民 第1-3章 机电一体化概述-传感与检测技术
- 2024年北京客运车驾驶员培训资料
- 2024年海口客运资格证紧急救护试题和答案
- 2024年山南从业资格证模拟考试题库
- 新质生产力:复合概念、发展基础与系统创新路径
- 2024年个人车位租赁合同参考范文(三篇)
- 江西省九江市修水县2024届九年级上学期期中考试数学试卷(含答案)
- 2024年山东省济南市中考数学真题(含答案)
- 二手门市销售合同范本
- 2024年安全员A证试题库(附答案)
- 浙江省温州市苍南县2023-2024学年八年级上学期期中考试英语试题
- 部编版五年级上册《交流平台·初试身手·习作例文》课件
- 新苏教版六年级上册科学全册知识点
- 2.2生命活动的主要承担者-蛋白质(公开课)
- 2024-2030年中国汽摩配行业运营态势及重点企业发展分析报告
评论
0/150
提交评论