问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[原创]上海F开发总公司诉上海S集团合作建房纠纷案

发布网友 发布时间:2022-04-12 10:12

我来回答

2个回答

懂视网 时间:2022-04-12 14:33

Silverlight 与 SQL Server 或 SQL Server Express 的互操作,已成为我们常见的开发 Siverlight 应用程序的一种模式。可是在开发一些小型应用程序时,我们就需要使用一些小巧的轻量级的数据库,比如 Access 数据库。由于 Visual Studio 中并没有直接提供 Sil

SilverlightSQL ServerSQL Server Express的互操作,已成为我们常见的开发Siverlight应用程序的一种模式。可是在开发一些小型应用程序时,我们就需要使用一些小巧的轻量级的数据库,比如Access数据库。由于Visual Studio中并没有直接提供SilverlightAccess互操作的系列方法。于是本文就将为大家介绍如何让Silverlight使用Access作为后台数据库。

准备工作

1)建立起测试项目

细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NET Entity Framework——Silverlight学习笔记[10]。

2)创建测试用数据库

如下图所示,创建一个名为Employees.mdbAccess数据库,建立数据表名称为Employee。将该数据库置于作为服务端的项目文件夹下的App_Data文件夹中,便于操作管理。

建立数据模型

EmployeeModel.cs文件(放置在服务端项目文件夹下)

using System;

using System.Collections.Generic;

using System.Linq;

namespace datagridnaccessdb

{

public class EmployeeModel

{

public int EmployeeID { get; set; }

public string EmployeeName { get; set; }

public int EmployeeAge { get; set; }

}

}

建立服务端Web Service★

右击服务端项目文件夹,选择Add->New Item....,按下图所示建立一个名为EmployeesInfoWebService.asmxWeb Service,作为SilverlightAccess数据库互操作的桥梁。

创建完毕后,双击EmployeesInfoWebService.asmx打开该文件。将里面的内容修改如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Data.OleDb;//引入该命名空间为了操作Access数据库

using System.Data;

namespace datagridnaccessdb

{

///

/// Summary description for EmployeesInfoWebService

///

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(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]

public class EmployeesInfoWebService : System.Web.Services.WebService

{

[WebMethod]//获取雇员信息

public List GetEmployeesInfo()

{

List returnedValue = new List();

OleDbCommand Cmd = new OleDbCommand();

SQLExcute("SELECT * FROM Employee", Cmd);

OleDbDataAdapter EmployeeAdapter = new OleDbDataAdapter();

EmployeeAdapter.SelectCommand = Cmd;

DataSet EmployeeDataSet = new DataSet();

EmployeeAdapter.Fill(EmployeeDataSet);

foreach (DataRow dr in EmployeeDataSet.Tables[0].Rows)

{

EmployeeModel tmp = new EmployeeModel();

tmp.EmployeeID = Convert.ToInt32(dr[0]);

tmp.EmployeeName = Convert.ToString(dr[1]);

tmp.EmployeeAge = Convert.ToInt32(dr[2]);

returnedValue.Add(tmp);

}

return returnedValue;

}

[WebMethod] //添加雇员信息

public void Insert(List employee)

{

employee.ForEach( x =>

{

string CmdText = "INSERT INTO Employee(EmployeeName,EmployeeAge) VALUES(+x.EmployeeName+,"+x.EmployeeAge.ToString()+")";

SQLExcute(CmdText);

});

}

[WebMethod] //更新雇员信息

public void Update(List employee)

{

employee.ForEach(x =>

{

string CmdText = "UPDATE Employee SET EmployeeName=+x.EmployeeName+,EmployeeAge="+x.EmployeeAge.ToString();

CmdText += " WHERE EmployeeID="+x.EmployeeID.ToString();

SQLExcute(CmdText);

});

}

[WebMethod] //删除雇员信息

public void Delete(List employee)

{

employee.ForEach(x =>

{

string CmdText = "DELETE FROM Employee WHERE EmployeeID="+x.EmployeeID.ToString();

SQLExcute(CmdText);

});

}

//执行SQL命令文本,重载1

private void SQLExcute(string SQLCmd)

{

string ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath(@"App_DataEmployees.mdb;");

OleDbConnection Conn = new OleDbConnection(ConnectionString);

Conn.Open();

OleDbCommand Cmd = new OleDbCommand();

Cmd.Connection = Conn;

Cmd.CommandTimeout = 15;

Cmd.CommandType = CommandType.Text;

Cmd.CommandText = SQLCmd;

Cmd.ExecuteNonQuery();

Conn.Close();

}

//执行SQL命令文本,重载2

private void SQLExcute(string SQLCmd,OleDbCommand Cmd)

{

string ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath(@"App_DataEmployees.mdb;");

OleDbConnection Conn = new OleDbConnection(ConnectionString);

Conn.Open();

Cmd.Connection = Conn;

Cmd.CommandTimeout = 15;

Cmd.CommandType = CommandType.Text;

Cmd.CommandText = SQLCmd;

Cmd.ExecuteNonQuery();

}

}

}

之后,在Silverlight客户端应用程序文件夹下,右击References文件夹,选择菜单选项Add Service Reference...。如下图所示,引入刚才我们创建的Web Service(别忘了按Discover按钮进行查找)。

创建Silverlight客户端应用程序

MainPage.xaml文件

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

mc:Ignorable="d" xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" xmlns:dataFormToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm.Toolkit" x:Class="SilverlightClient.MainPage"

d:DesignWidth="320" d:DesignHeight="240">

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕甲状腺激素偏高正常吗 怀孕检查甲状腺素偏高是什么原因引起的 怀孕了甲状腺功能偏高是怎么回事 怀孕甲状腺高是什么引起的 孕中期促甲状腺激素偏高是什么原因 重钢别墅靠谱吗 重刚别墅的致命缺点 重钢别墅的优点和缺点各是什么 积食可以吃什么 车子换了点火线圈,分缸线,火花塞以后车子打不着。这是什么原因 原创一个S开头的英文名字,意思、读音希望写出来,谢谢啦。 时事评论投稿到哪里比较好? 光明新闻网怎么注册,怎么投稿? 怎样给工人日报投稿 多吃什么可以把平胸变大 吃什么可以让胸变大点啊?谢谢.... 吃什么可以让胸部变大什么效果更好 想买一款链接手机的蓝牙音箱,请问有什么好的品牌可以推荐给我吗? 蓝牙音箱有什么好推荐的品牌吗? 哪个大神有360植物大战僵尸的修改器,麻烦发给我一下,谢谢~~!! 想要网络版守望先锋,植物大战僵尸花园战争,gta5,这些都在哪里买呀。。还有买的是什么呀,账号吗? 植物大战僵尸怎么进泳池 植物大战僵尸下载全版 植物大战僵尸Online在哪下载? 快手生日写成小孩子的怎么么可以改过来 快手日期 生日在哪里 脏话 随着社会的发展,服饰发生了哪些变化 辽国皇后服饰的穿法 辽国皇后服饰有没有等级之分 在特勒·阿斯马尔的阿勃神庙的地窖里保存的苏美尔人的圆雕人像是怎样的? 求苏美尔史诗《吉尔加美什之死》。 汽车上的胶水,可以用风油精洗掉吗? 手机屏幕起了怎么办? 视屏教程如何写好楷书“惟”字 一寸赤心惟报国毛笔楷书写法 求有“维”字(维)的楷书字体…… 诸艺皆废,惟书法不辍.诸艺未废,随缘耳.这两句话意思 粉笔字区怎么写 书法字帖赠秘书监惟贞频书是什么书体? 美国总统的权利 360安全卫士升级对电脑会有影响吗??? 360是否会影响电脑运行? 360安全卫士会伤电脑系统吗 开着360安全卫士会影响网速和电脑运行速度吗? 我的电脑里装了360安全卫士6和金山毒霸会影响电脑运行吗? 开着360杀毒和360安全卫士会不会影响网速和电脑运行速度? 卸载360安全卫士对电脑系统有什么影响吗 360安全卫士和杀毒对电脑运行速度有影响吗 360安全卫士是不是会影响电脑运行速度? 360安全卫士与360杀毒同时运行会影响电脑运行吗? 台式电脑用360安全卫士体检点击系统修复,会对电脑有影响吗