silverlight访问数据库并把表显示在DataG

1、 创建silverlight项目
2、 在项目中添加普通类库
i在类库中的类完成数据属性的定义,要注意添加usingSystem.Runtime.Serialization;命名空间。基本定义方法:
[DataContract]
public class clsCustomer
{
privatestring _strCustomer;
privatestring _strCustomerCode;
[DataMember]
public string Customer //列名
{
get{ return _strCustomer; }
set{ _strCustomer = value; }
}
[DataMember]
public string CustomerCode
{
get{ return _strCustomerCode; }
set{ _strCustomerCode = value; }
}
}
ii 在类库中添加ADO.NET实体数据模型。选择所要用到的数据表,并进行测试
3、 添加WCF类库
1) 在 IService1.cs完成借口的定义
[ServiceContract]
public interface IServiceCustomer
{
[OperationContract]
List<clsCustomer> getCustomer( ); //定义一个列表类
}
2) 在Service1.svc.cs中完成数据模型的定义,要实现数据库的数据显示在xaml中,一定要使用链表
public List<clsCustomer> getCustomer( )
{
List<clsCustomer > getc=new List<clsCustomer>(); //给这个列表类进行实例化
stringstr = "Data Source=BITC-ZZB;InitialCatalog=SECURITY;Integrated Security=True";
//机器名 数据库名
SqlConnectionobjConnection = new SqlConnection();
DataSetObjDataset = new DataSet();
SqlDataAdapterobjAdapater = new SqlDataAdapter();
SqlCommandobjCommand = new SqlCommand
("Select* from Customer ");
objConnection.ConnectionString =str;
objConnection.Open();
objCommand.Connection =objConnection;
objAdapater.SelectCommand =objCommand;
objAdapater.Fill(ObjDataset);
for(int i = 1; i < 3; i++)
{
clsCustomerclscustomer = new clsCustomer();//实例化一个变量
clscustomer.Customer =ObjDataset.Tables[0].Rows[1].ToString();
//变量点取列名,获得数据库第i行第1列数据,放入到 clscustomer中
clscustomer.CustomerCode =ObjDataset.Tables[0].Rows[0].ToString();
getc.Add(clscustomer);//把 clscustomer添加到 getc中
}
returngetCustomer;//返回值
}
3) 在WcfService1中添加xml文件并确定文件名为clientaccesspolicy.xml
代码固定
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>"
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
4、 在silverlight项目中添加servicereference.并完成测试
在xaml代码中加入<data:DataGrid Name="dataGrid1"/>

silverlight访问数据库并把表显示在DataG
<Grid x:Name="LayoutRoot" Background="White">
<sdk:DataGrid Name="DataGrid1">
</sdk:DataGrid>
</Grid>
<Grid x:Name="LayoutRoot" Background="White">
<sdk:DataGrid Name="DataGrid1">
</sdk:DataGrid>
</Grid>
Service1.svc中添加 using System.Data.SqlClient;
5、 在后台的cs文件中完成如下代码
6、 public aaa() //aaa为xaml文件名
7、 {
8、 InitializeComponent();
9、 ServiceCustomerClientobj = new ServiceReference1.ServiceCustomerClient();
10、 obj.getCustomerCompleted += new EventHandler<getCustomerCompletedEventArgs>(obj_getCustomerCompleted);
11、 obj.getCustomerAsync( );
12、
13、 }
14、
15、 voidobj_getCustomerCompleted(object sender, getCustomerCompletedEventArgs e)
16、 {
17、 this.dataGrid1.ItemsSource= e.Result;
18、 }
19、 void DisplayResults(objectsender, getCustomerCompletedEventArgs e)
20、 {
21、 this.dataGrid1.ItemsSource= e.Result ;
22、 LayoutRoot.DataContext = e.Result;
23、 }
24、 运行通过
Tags: 

延伸阅读

最新评论

发表评论