21.4 本章实例
本节将新建ASP.NET丁网站。在程序中完成下面的操作:
(1)连接MySQL数据库。然后操作school数据库下的student表和score表。
(2)向student表中插入两条记录,并且在页面显示插入的记录数。INERT语句如下:
INSERT INTO student VALUES(907, 'Jack', ’男', 1984,'计算机', '北京市昌平区'); INSERT INTO student VALUES(908, 'Tom', '男', 1987, '英语', '北京市海淀区');
(3)从student表和score表中査询出所有记录,并且显示在页面上。
(4)从student表中删除计算机系学生的信息。SELECT语句如下:
DELETE FROM student WHERE department='计算机系';
(4)关闭打开的所有数据库对象。
根据题目要求,创建一个“ASP.NET网站”。创建成功后,需要添加Connectcn/Net驱动程序。在Microsoft Visual Studio的菜单栏上选择Website(网站)|AddReference(添加引),从弹出的界面中选择MySql.Data组件,然后单击【确定】按钮。这样即可将 Connector/et驱动程序添加到网站中。
根据上述要求编写的代码如下:
//下面是DB类的代码,代码中包括连接MySQL数据库、插入数据、查询数据、删除数据的操作 using System; using System.Data; //使用 DataSet 和 DataTable 时,必须先引用 System.Data using System. Config u rati on; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using MySql.Data.MySqlClient; public partial class DB : System.Web.UI.Page //使用连接和操作MySQL的方法,必须应用MySql.Data.MySqlClient { //创建 MySqlConnection 对象 MySqlConnection con = new MySqlConnection("Host=localhost;Database=test;"+"Username=root; Password=root"); //下面是Page_load()方法,该方法的功能是加载页面 protected void Page_Load(object sender, EventArgs e) { if (!lsPostBack) { Label1.Text ="'!; } } //下面是Button_Click方法,该方法的功能是插入两条记录 protected void Button1_Click(object sender, EventArgs e) //打开 MySqlConnection 对象 //新建 MySqlCommand 对象 con.Open(); MySqlCommand com1 = new MySqlCommand(); //将 MySqlConnection 对象与 MySqlCommand 对象绑定 com1.Connection = con; //MySqlCommand 对象获取 INSERT 对象 com1 .CommandText="INSERT INTO student VALUES(907,'Jack','男',1984.'计算机','北京市昌平区',"+" (908, 'Tom','男',1987,'英语', '北京市海淀区')"; int i = com1 .ExecuteNonQuery(); //执行INSERT语句,并返回插入的记录数 Response.Write(i); //输出变量 i 的值 con.Close(); //关闭 MySqlConnection 对象 } //下面是咖btn_show_Click()方法,该方法的功能是查询score表和student表的数据 protected void btn_show_Click(object sender, EventArgs e) { con.Open(); //打开 MySqlConnection 对象 string selectstu = "SELECT * FROM student"; //定义字符串变量,将SELECT语句赋值给变量 string selectsco = "SELECT * FROM score"; //下面两行代码创建两个MySqlDataAdapter对象,并且实例化 MySqlDataAdapter mda1 = new MySqlDataAdapter(selectstu,con1); MySqlDataAdapter mda2 = new MySqlDataAdapter(selectsco ,con1); //下面两行代码创建两个DataSet对象,并且实例化 DataSet ds1 = new DataSet(); DataSet ds2 = new DataSet(); //下面两行代码将查询结果填充到DataSet对象中 mda1.Fill(ds1, "stu"); mda2.Fill(ds2,"sco"); //将查询结果输出到页面上。Showdata_student和Showdata_score是页面表格的ID值 Showdata_student. DataSource = ds1.Tables["stu"].DefaultView; Showdata_student.DataBind(); Showdata_score.DataSource = ds2.T ables["sco"].DefaultView; Showdata_score.DataBind(); con.Close(); //关闭 MySqlConnection 对象 //下面是btn_search_Click()方法,该方法的功能是删除一条记录 protected void btn_search_Click(object sender, EventArgs e) { con.Open(); //打开 MySqlConnection 对象 //定义字符串变量,将DELETE语句赋值给变量 string Deletestu ="Delete From student Where departmenty='计算机系'"; //创建MySqlCommand,并且获取con和DELECT语句 MySqlCommand msc = new MySqlCommand(Deletestu , con); //执行delete语句,并且返回删除的记录数 int i = msc.ExecuteNonQuery(); Response.Write("你删除了"+i+"条记录"); con.Close(); //关闭 MySqlConnection 对象 //下面是asp页面的代码。页面上有三个按钮,分别是删除、插入和显示 //下面几行代码是asp文件的头文件,包括语言的种类、代码文件、文档类型等信息 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DB.aspx.cs" lnherits="DB" %> <!DOCTYPE html PUBLIC "-/AA/3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.orgn^R/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtmr' > <head runat="server"> <title>操作MySQL数据库</title> </head> <body> <form id="form1" runat="server"> <div> <br/> <br/> <br/> //页面的按钮,通过按钮调用DB类中对应的方法 <center> //下面是删除按钮,该按钮的ID为btn_search,单击按钮后调用btn_search_Click()方法 <asp:Button ID="btn_search" runat="server" Text="删除" OnClick="btn_ search_Click"/> //下面是插入按钮,该按钮的ID为Button1,单击按钮后调用Button1_Click()方法 <asp:Button ID="Button1" runat="server" Text="插入" OnClick="Button1_Click"/> //下面是显示按钮,该按钮的ID为btn_show,单击按钮后调用btn_show_Click ()方法 <asp:Button ID="btn_show" runat="server" Text="显示" OnClick="btn_show_Click" /><br/> </center> <center> <asp:Label ID="Label1" runat="server"> </asp:Label><br/> </center> //下面的代码用于显示查询结果,以表格的形式的显示在页面上 <center> <asp:DataGrid ID="Showdata_student" runat="server"> </asp:DataGrid> //显示student表的信息 <asp:DataGrid ID="Showdata_score" runat="server"> </asp:DataGrid> //显示score表的信息 </center> </div> </form> </body> </html>
通过本小节的实例,希望读者对使用ExecuteNonQuery()方法、MySqlDataAdapter对象、DataSet、对象和DataTable对象有更加深刻的认识。