System.Data.Silverlight V2.0版本升级说明

System.Data.Silverlight V2.0版本升级说明,第1张

概述一、升级说明 1、重写了一套DataSet、DataTable,自定义Xml序列化和反序列化方法; 2、优化了程序,引用该组建无需引用其它关联程序集; 3、增加DataTable与实体类集合的互转、DataTable转换成动态类型集合、DataTable直接绑定到控件; 4、增加事务处理功能; 5、感谢网友“尘世流浪汉”提出宝贵意见,也欢迎大家试用并提出更多建议! 二、新功能示例 1、DataTa 一、升级说明

1、重写了一套DataSet、Datatable,自定义Xml序列化和反序列化方法;

2、优化了程序,引用该组建无需引用其它关联程序集;

3、增加Datatable与实体类集合的互转、Datatable转换成动态类型集合、Datatable直接绑定到控件;

4、增加事务处理功能;

5、感谢网友“尘世流浪汉”提出宝贵意见,也欢迎大家试用并提出更多建议!

二、新功能示例 1、Datatable新功能

            try

            {

                //创建一个数据连接

                DbConnection conn =newDbConnection("ProvIDer=Microsoft.Jet.olEDB.4.0;Data Source=|DataDirectory|SoundEvents.mdb;");

 

                //sql Server无须做如下两步设置

                //设置使用的数据访问程序集

                conn.Assemblyname = "System.Data";

                //设置数据工厂,这里是oledb方式的数据工厂

                conn.DbProvIDerFactory = "System.Data.oleDb.oleDbFactory";

 

 

                //创建一个数据命令

                DbCommandSyn cmd =newDbCommandSyn();

                //设置命令的连接

                cmd.Connection = conn;

                //设置sql语句,可以是存储过程

                cmd.CommandText = "SELECT [JtServerCode],[JtEventID],[JtEventname] FROM [JtEvents] WHERE [JtServerCode]=@JtServerCode";

                //设置命令类型,一般sql语句是Text,存储过程是StoredProcedure

                cmd.CommandType = DbCommandType.Text;

                //设置执行类型

                cmd.ExecuteType = DbExecuteType.Reader;

                //添加一个参数,无参数可以不添加

                cmd.Parameters.Add(newDbParameter("@JtServerCode","jt01"));

                //执行命令,得到结果

                DbCommandExecuteResult result = cmd.Execute();

 

                if (!string.IsNullOrEmpty(result.ErrMsg))//首先判断ErrMsg是否有值,有表示执行过程发生错误

                {

                    MessageBox.Show("发生错误:" + result.ErrMsg);

                }

                else

                {

                    //将Datatable直接绑定到控件

                    Datatable dt = result.ReaderResult;

                    dataGrID1.ItemsSource = dt;

 

                    //将Datatable转换成实体类集合后绑定到控件

                    List<HisEvent> hisEvents = result.ReaderResult.ToEntityList<HisEvent>();

                    dataGrID1.ItemsSource = hisEvents;

                   

                    //将Datatable转换成动态类型集合后绑定到控件

                    List<object> objList = result.ReaderResult.ToObjectList();

                    dataGrID1.ItemsSource = objList;

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show("发生错误:" + ex.ToString());

            }

 

2、事物示例

            try

            {

                //创建一个数据连接

                DbConnection conn =newDbConnection("Data Source=|DataDirectory|CSmsPlatThird.db;Pooling=true;FailifMissing=false");

 

 

                //设置使用的数据访问程序集

                conn.Assemblyname = "System.Data.sqlite";

                //设置数据工厂,这里是sqlite的数据工厂

                conn.DbProvIDerFactory = "System.Data.sqlite.sqliteFactory";

 

 

                //创建一个数据命令

                DbCommandSyn cmd =newDbCommandSyn();

                //设置命令的连接

                cmd.Connection = conn;

                //设置执行类型

                cmd.ExecuteType = DbExecuteType.Transaction;

 

                //添加事务

                TransactionItem trans1 =newTransactionItem();

                trans1.CommandText = "INSERT INTO [T_Message] ([Mobile],[Content],[DateTime],[PlatFlag],[State]) VALUES (@Mobile,@Content,@DateTime,@PlatFlag,@State)";

                trans1.CommandType = DbCommandType.Text;

                trans1.Parameters.AdDWithValue("@Mobile",newRandom().Next(10000000,888888888).ToString());

                trans1.Parameters.AdDWithValue("@Content","这是一条测试短信!");

                trans1.Parameters.AdDWithValue("@DateTime",DateTime.Now);

                trans1.Parameters.AdDWithValue("@PlatFlag","SZHK");

                trans1.Parameters.AdDWithValue("@State",true);

                cmd.Transaction.Add(trans1);

                TransactionItem trans2 =newTransactionItem();

                trans2.CommandText = "INSERT INTO [T_Logger] ([Content],[PlatFlag]) VALUES (@Content,@PlatFlag)";

                trans2.CommandType = DbCommandType.Text;

                trans2.Parameters.AdDWithValue("@Content","短信发送成功!");

                trans2.Parameters.AdDWithValue("@DateTime",DateTime.Now);

                trans2.Parameters.AdDWithValue("@PlatFlag","SZHK");

                cmd.Transaction.Add(trans2);

 

                //执行命令,得到结果

                DbCommandExecuteResult result = cmd.Execute();

 

                if (!string.IsNullOrEmpty(result.ErrMsg))//首先判断ErrMsg是否有值,有表示执行过程发生错误

                {

                    MessageBox.Show("发生错误:" + result.ErrMsg);

                }

                else

                {

                    if (result.TransactionResult)

                    {

                        MessageBox.Show("事务执行成功!");

                    }

                    else

                    {

                        MessageBox.Show("事务执行失败!");

                    }

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show("发生错误:" + ex.ToString());

            }

 

三、技术交流

有任何问题可以加入唯一指定的专用QQ群153079750进行反馈交流,也欢迎加入笔者的另一个Silverlight技术群175213051进行交流。

 

点击此处下载 总结

以上是内存溢出为你收集整理的System.Data.Silverlight V2.0版本升级说明全部内容,希望文章能够帮你解决System.Data.Silverlight V2.0版本升级说明所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1019223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存