资源预览内容
第1页 / 共64页
第2页 / 共64页
第3页 / 共64页
第4页 / 共64页
第5页 / 共64页
第6页 / 共64页
第7页 / 共64页
第8页 / 共64页
第9页 / 共64页
第10页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章 ADO.NET与数据操作,7.1 与数据库的连接 7.2 常用SQL Server语句介绍 7.3 简单数据表操作方法 7.3 使用DataReader顺序读取 7.5 使用DataSet和DataGrid进行复杂操作 7.6 数据库中的图像存取 7.7 水晶报表,ADO.NET 结构,7.1 与数据库的连接,7.1.1 与Sql Server数据库的连接,数据提供程序位于 System.Data.SqlClient 命名空间中 使用 SqlConnection 对象提供与 Microsoft SQL Server的连接 两种形式的连接字符串: (1)在连接字符串中指定服务器名、用户id、口令、数 据库名。例如: string str=“ Server=localhost;uid=sa;pwd=;database=test“; SqlConnection conn = new SqlConnection(str);,【例7-1】创建一个ASP.NET Web应用程序,利用DropDownList控件将pubs数据库中stores表的stor_name字段中的所有记录显示出来。 1) 向窗体上拖放一个【DropDownList】控件。 2) 添加名称空间引用。 using System.Data.SqlClient; 3) 在Page_load中添加处理代码。 private void Page_Load(object sender, System.EventArgs e) /如果是第一次加载网页 if(!this.IsPostBack) ,string connString=“server=localhost;uid=sa;pwd=;database=pubs“; SqlConnection conn=new SqlConnection(connString); string sql=“select * from stores“; SqlCommand comm=new SqlCommand(sql,conn); conn.Open(); /将SQL语句执行的结果作为数据源 this.DropDownList1.DataSource=comm.ExecuteReader(); this.DropDownList1.DataTextField=“stor_name“; this.DropDownList1.DataBind(); conn.Close(); 4) 按F5键编译并运行,观察结果。,(2)在连接字符串中指定 服务器名(server=)、 集成安全性(Integrated Security=SSPI)、 数据库名。 (注:SSPI:Security Support Provider Interface) 例如: string str=“Persist Security Info=False;” +”Integrated Security=SSPI;” +”database=northwind;” +”server=localhost;“; SqlConnection myConnection = new SqlConnection(str);,【例7-2】在Windows应用程序中利用ComboBox控件显示上例输出的内容。 1) 创建一个Windows应用程序,向窗体上拖放一个【ComboBox】控件。 2) 切换到代码方式,添加名称空间引用。 using System.Data.SqlClient; 3) 在构造函数中添加处理代码。 public Form1() InitializeComponent(); / TODO: 在 InitializeComponent 调用后添加任何构造函数代码,string str=“server=localhost; Integrated Security=SSPI;database=pubs“; SqlConnection conn=new SqlConnection(str); string sql=“select * from stores“; SqlDataAdapter adapter=new SqlDataAdapter(sql,conn); DataSet dataset=new DataSet(); adapter.Fill(dataset,“stores“); this.comboBox1.DisplayMember=“stor_name“; this.comboBox1.DataSource=dataset.Tables“stores“; 4) 按F5键编译并运行,观察结果。,7.1.2 与Oracle数据库的连接,使用Oracle数据库时连接字符串形式为: OracleConnection conn= new OracleConnection(“Provider=MSDAORA; uid=scott;pwd=tiger;server=yourServer“); 或者: OracleConnection conn= new OracleConnection(“Data Source=MyOracleServer; Integrated Security=yes“);,7.1.3 与Access数据库的连接,数据提供程序位于 System.Data .OleDb 命名空间中 使用Access数据库时连接字符串形式为: “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=数据库名“; 注意:Data和Source之间有一个空格。 【例7-3】创建一个ASP.NET Web应用程序,用Access在网页所在目录下创建一个数据库db1.mdb,在库中创建一个数据表table1,然后在表中输入一些数据。试编写一个ASP.NET Web应用程序将该表内容在DataGrid控件中显示出来。 1) 向Web窗体上拖放一个【DataGrid】控件。 2) 添加名称空间引用。 using System.Data.OleDb;,3) 在Page_load中添加处理代码。 private void Page_Load(object sender, System.EventArgs e) /创建连接字符串,“.db1.mdb”指当前目录下的db1.mdb文件。 /Server.MapPath(path)的功能是将虚拟目录转换为实际目录 string connString=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ +Server.MapPath(“.db1.mdb“); OleDbConnection conn=new OleDbConnection(connString); string sql=“select * from table1“; OleDbCommand cmd=new OleDbCommand(sql,conn); conn.Open(); this.DataGrid1.DataSource=cmd.ExecuteReader(); this.DataGrid1.DataBind(); conn.Close(); 4) 按F5键编译并运行,观察结果。,7.1.4 与Visual Foxpro数据库的连接,可以使用OdbcConnection对象与Visual Foxpro数据库进行连接。连接字符串形式为: “Driver=Microsoft Visual FoxPro Driver; SourceType=DBC;SourceDB=数据库名”; 也可以使用下面的连接字符串只与某个表(数据库中的表或自由表)进行连接: “Driver=Microsoft Visual FoxPro Driver; SourceType=DBF;SourceDB=该表所在目录名“; 下面举例说明使用方法。 【例7-4】用Visual Foxpro 6.0在C:mydbc目录下创建一个数据库test.dbc,在库中创建一个数据表table1.dbf,然后在表中输入一些数据。试编写一个Windows应用程序将该表内容在DataGrid中显示出来。,1) 创建一个Windows应用程序,向窗体上拖放一个【DataGrid】控件。 2) 切换到代码方式,添加名称空间引用。 using System.Data.Odbc; 3) 在构造函数中添加处理代码。 public Form1() InitializeComponent(); / TODO: 在 InitializeComponent 调用后添加任何构造函数代码 string str=“Driver=Microsoft Visual FoxPro Driver;“+ “SourceType=DBC;SourceDB=C:mydbctest.dbc“; OdbcConnection conn=new OdbcConnection(str); string sql=“select * from table1“; OdbcDataAdapter adapter=new OdbcDataAdapter(sql,conn); DataSet dataset=new DataSet(); adapter.Fill(dataset,“table1“); this.dataGrid1.DataSource=dataset.Tables“table1“; 4) 按F5键编译并运行,观察结果。,7.2 常用SQL Server语句介绍,Select语句 SELECT ALL|DISTINCT 别名,别名 INTO 新表名 FROM别名,别名 WHERE GROUP BY HAVING ORDER BY ASC|DESC; 例 查询学号为9912053的学生的情况。 SELECT * FROM Student WHETRE Sno9912053;,Insert语句 格式1:插入单个元组 INSERT INTO (,) VALUES(,); 例如 INSERT INTO Student VALUES(9912051,章三,男,24) 格式2.插入子查询结果 INSERT INTO (,) 子查询; 例如:INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;,Delete语句 格式: DELETE FROM WHERE; Update语句 格式: UPDATE SET=,= WHERE; 例如: UPDATE Student SET Sage=22 WHERE Sno=9912051;,7.2.5 其它SQL Server语句,1.创建基本表 Create语句的一般格式为: CREATE TABLE (列级完整性约束条件 ,列级完整性约束条件 , 表级完整性约束条件); 2. 修改基本表 Alter语句的一般格式为: ALTER TABLE ADD 完整性约束 DROP COLUMN ALTER COLUMN ; 3. 删除基本表 Drop语句的一般格式为: DROP TABLE;,7.2.6 常用SQL Server函数,1. 数值函数 常用数值函数有: 1) ABS(n) 2) CEILING(n) 3) FLOOR(n) 4) SQRT(n) 5) ROUND(n,p) 6) SIN(n) 7) POWER(x,y) 2.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号