《2022年Silverlight访问数据库之MySQL数据库[参 .pdf》由会员分享,可在线阅读,更多相关《2022年Silverlight访问数据库之MySQL数据库[参 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Silverlight访问数据库之 MySQL 数据库本文将为大家介绍如何让Silverlight 使用 MySQL 作为后台数据库以及CURD 操作。准备工作1)建立起测试项目细节详情请见 强大的 DataGrid 组件2_ 数据交互之 ADO.NET Entity Framework2)创建测试用数据库如下图所示,创建一个名为employees的 MySQL 数据库,建立数据表名称为Employee。3)安装 MySQL Connector Net 6.1.1 为了能让 .NET 操作 MySQL 数据库,请务必安装。【点击:下载地址 】建立数据模型EmployeeModel.cs文件(放
2、置在服务端项目文件夹下)using System; using System.Collections.Generic; using System.Linq; namespace dataformnmysqldb publicclassEmployeeModel publicint EmployeeID get ; set ; publicstring EmployeeName get ; set ; publicint EmployeeAge get ; set ; 建立服务端 Web Service 右击服务端项目文件夹,选择Add-New Item.,按下图所示建立一个名为Employee
3、sInfoWebService.asmx的 Web Service,作为 Silverlight 与 MySQL 数据库互操作的桥梁。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 在 Silverlight 客户端应用程序文件夹下,右击References文件夹,添加名为MySql.Data 的命名空间。 之后,双击 EmployeesInfoWebService.asmx打开该文件,将里面的内容修改如下:using Syst
4、em; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Data; using MySql.Data.MySqlClient;/ 引入该命名空间是为了操作MySQL 数据库namespace dataformnmysqldb / Summary description for EmployeesInfoWebService/ WebService(Namespace = http:/tempuri.org/) WebSer
5、viceBinding (ConformsTo = WsiProfiles.BasicProfile1_1) System.ComponentModel.ToolboxItem ( false ) / To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. / System.Web.Script.Services.ScriptService名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
6、- 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - publicclassEmployeesInfoWebService : System.Web.Services. WebService WebMethod / 获取雇员信息publicList GetEmployeesInfo() List returnedValue = newList (); MySqlCommand Cmd = new MySqlCommand(); SQLExcute(SELECT * FROM Employee , Cmd); MySqlDataAdapter
7、EmployeeAdapter = newMySqlDataAdapter (); EmployeeAdapter.SelectCommand = Cmd; DataSet EmployeeDataSet = new DataSet(); EmployeeAdapter.Fill(EmployeeDataSet); foreach ( DataRow dr in EmployeeDataSet.Tables0.Rows) EmployeeModel tmp = new EmployeeModel (); tmp.EmployeeID = Convert .ToInt32(dr0); tmp.E
8、mployeeName = Convert .ToString(dr1); tmp.EmployeeAge = Convert .ToInt32(dr2); returnedValue.Add(tmp); return returnedValue; WebMethod / 添加雇员信息publicvoid Insert(List employee) employee.ForEach(x = string CmdText = INSERT INTO Employee(EmployeeName,EmployeeAge) VALUES( + x.EmployeeName + , + x.Employ
9、eeAge.ToString() + ) ; SQLExcute(CmdText); ); WebMethod / 更新雇员信息publicvoid Update( List employee) employee.ForEach(x = stringCmdText = UPDATE Employee SET EmployeeName= + x.EmployeeName + ,EmployeeAge= + x.EmployeeAge.ToString(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
10、- - - - 第 3 页,共 6 页 - - - - - - - - - CmdText += WHERE EmployeeID= + x.EmployeeID.ToString(); SQLExcute(CmdText); ); WebMethod / 删除雇员信息publicvoid Delete( List employee) employee.ForEach(x = string CmdText = DELETE FROM Employee WHERE EmployeeID= + x.EmployeeID.ToString(); SQLExcute(CmdText); ); / 执行
11、 SQL命令文本,重载 1privatevoid SQLExcute( string SQLCmd) string ConnectionString = server=localhost;user id=root;password=yourpassword;database=employees; MySqlConnection Conn = newMySqlConnection (ConnectionString); Conn.Open(); MySqlCommand Cmd = new MySqlCommand(); Cmd.Connection = Conn; Cmd.CommandTim
12、eout = 15; Cmd.CommandType = System.Data.CommandType.Text; Cmd.CommandText = SQLCmd; Cmd.ExecuteNonQuery(); Conn.Close(); / 执行 SQL命令文本,重载 2privatevoid SQLExcute( string SQLCmd, MySqlCommand Cmd) string ConnectionString = server=localhost;user id=root;password= yourpassword;database=employees; MySqlC
13、onnection Conn = newMySqlConnection (ConnectionString); Conn.Open(); Cmd.Connection = Conn; Cmd.CommandTimeout = 15; Cmd.CommandType = System.Data.CommandType.Text; Cmd.CommandText = SQLCmd; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - C
14、md.ExecuteNonQuery(); 之后,在 Silverlight 客户端应用程序文件夹下,右击References文件夹,选择菜单选项 Add Service Reference. 。如下图所示,引入刚才我们创建的Web Service(别忘了按 Discover 按钮进行查找)。创建 Silverlight客户端应用程序详情参见我的 原创Silverlight 与 Access数据库的互操作 (CURD 完全解析 )。最终效果图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -