All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
技巧应用:ASP.NET中文件上传下载方法集合_.net资料_编程技术
教程:使用WebService进行异步通信_.net资料_编程技术
SQLServer怎样配置发送电子邮件_[SQL,Server教程]
Asp.net,Ajax,学习笔记4,UpdatePanel的使用(上)_[Asp.Net教程]
ASP.NET2.0学习-
过滤ASP.NET输出HTML中的无用空格_.net资料_编程技术
著名的SQL流量注入(SQL注入)攻击法_[SQL,Server教程]
PHP技巧:php过滤危险html代码_[PHP教程]
.NET,3.x新特性之Lambda表达式_.net资料_编程技术
Discuz!,X-Space下的二级域名配置_php资料_编程技术
Reading number is top 10 pictures
这玉米,买还是不卖?
More attractive than sora aoi4
Summer is most suitable for young people to travel in China1
So beauty, will let you spray blood8
Azusa Yamamoto1
Female model behind the bitterness, often being overcharged3
乳娘帕梅拉安德森2
再发一张清纯美眉的照片
Ashlynn Brooke show proud chest measurement2
China's ambassador to Libya embassy was shock, and the glass is broken in
Download software ranking
C语言教程TXT
Unix video tutorial10
Boxer's Top ten classic battle6
Unix video tutorial11
White deer villiage
matrix3
WebService在.NET中的实战应用教学视频 → 第3集
XML+Web+Service开发教程
ASP.NET.2.0.XML.高级编程(第3版)
Tram sex maniac 2 (H) rar bag4
delv published in(发表于) 2014/1/10 6:32:04 Edit(编辑)
操作,SQL,Server,Mobile,2005,数据库的常用,C#,代码_[Asp.Net教程]

操作,SQL,Server,Mobile,2005,数据库的常用,C#,代码_[Asp.Net教程]

操作 SQL Server Mobile 2005 数据库的常用 C# 代码_[Asp.Net教程]

整理几段操作 SQL Server Mobile 数据库的常用 C# 代码,供刚刚接触 SQL Server Mobile 开发的朋友参考。


1. 创建数据库
// 创建数据库
File.Delete("Test.sdf");
SqlCeEngine engine = new SqlCeEngine(
"Data Source='Test.sdf';LCID=1033;Password=\"s;2'!dS64\";Encrypt=TRUE;");
engine.CreateDatabase();


2. 验证和修复数据库
// 验证和修复数据库
SqlCeEngine engine = new SqlCeEngine("Data Source=AdventureWorks.sdf");
if (false == engine.Verify())
{
MessageBox.Show("Database is corrupted.");
engine.Repair(null, RepairOption.RecoverCorruptedRows);
}


3. 压缩数据库
// 压缩数据库
// 通过从现有文件新建数据库文件来回收 SQL Server Mobile 数据库中浪费的空间。
// 此方法还可用来更改数据库的排序顺序、加密或密码设置。
// 该连接字符串指定一个指向将由此方法创建的目标数据库的连接。
// 如果指定的数据库已经存在或者具有相同名称的另一文件已经存在,则会引发异常。
// 如果为连接字符串传递空字符串,则新的数据库文件将改写旧的数据库文件,
// 但名称保持不变。
SqlCeEngine engine = new SqlCeEngine("Data Source=AdventureWorks.sdf");
//engine.Compact(null);
engine.Compact("Data Source=; Password=a@3!7fdQ;");



4. 收缩数据库


// 收缩数据库
// 通过将空页移动到文件的结尾然后截断该文件,
// 来回收 SQL Server Mobile 数据库中浪费的空间。
// 与 Compact 方法不同,Shrink 方法不创建临时数据库文件,
// 而是将所有空页和未分配的页都移到了文件的结尾,然后截断,从而减小数据库的总大小。
SqlCeEngine engine = new SqlCeEngine("Data Source=AdventureWorks.sdf");
engine.Shrink();


5. 合并复制
// 合并复制
// 实例化并配置 SqlCeReplication 对象
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
repl.InternetLogin = "MyInternetLogin";
repl.InternetPassword = "";
repl.Publisher = "MyPublisher";
repl.PublisherDatabase = "MyPublisherDatabase";
repl.PublisherLogin = "MyPublisherLogin";
repl.PublisherPassword = "";
repl.Publication = "MyPublication";
repl.Subscriber = "MySubscriber";
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";


// 创建一个本地 SQL Server Mobile 数据库的订阅
repl.AddSubscription(AddOption.CreateDatabase);


// 跟 SQL Server 数据库进行同步
repl.Synchronize();


// 清理 repl 对象
repl.Dispose();


6. 远程数据访问(RDA)
// 远程数据访问
// 实例化并配置 SqlCeRemoteDataAccess 对象
SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess();
rda.InternetUrl = "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
rda.InternetLogin = "MyInternetLogin";
rda.InternetPassword = "";
rda.LocalConnectionString = "Data Source=MyDatabase.sdf";


// 从 SQL Server 下载数据
rda.Pull(
"Employees",
"SELECT * FROM DimEmployee",
"Provider=sqloledb;server=MySqlServer;database=AdventureWorks;uid=sa;pwd=;",
RdaTrackOption.TrackingOnWithIndexes,
"ErrorTable");


//
// 修改本地数据
//


// 将已修改的数据上传到 SQL Server
rda.Push(
"DimEmployee",
"Provider=sqloledb;server=MySqlServer;database=AdventureWorks;uid=sa;pwd=;");


// 提交 SQL 语句在 SQL Server 上执行
rda.SubmitSql(
"CREATE TABLE MyRemoteTable (colA int)",
"Provider=sqloledb;server=MySqlServer;database=AdventureWorks;uid=sa;pwd=;");


7. 使用 SqlCeResultSet
// 使用 SqlCeResultSet
// 创建 SQL Server Mobile 数据库连接
SqlCeConnection conn = new SqlCeConnection("Data Source=Northwind.sdf");


// 创建并配置 SqlCeCommand 对象
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Orders";


// 创建 SqlCeResultSet 对象,并配置为可滚动、可更新、检测数据源更改
ResultSetOptions options = ResultSetOptions.Scrollable |
ResultSetOptions.Sensitive |
ResultSetOptions.Updatable;
SqlCeResultSet resultSet = cmd.ExecuteResultSet(options);


// 创建 ResultSetView 对象,配置为只显示序号为 1,3,5,8 的列
ResultSetView resultSetView = resultSet.ResultSetView;
int[] ordinals = new int[] { 1,3,5,8};
resultSetView.Ordinals = ordinals;


// 将 ResultSetView 绑定到 DataGrid 控件
this.dataGrid.DataSource = resultSetView;


8. 处理 SqlCeException
// 处理 SqlCeException
public static void ShowErrors(SqlCeException e)
{
SqlCeErrorCollection errorCollection = e.Errors;


StringBuilder bld = new StringBuilder();
Exception inner = e.InnerException;


foreach (SqlCeError err in errs)
{
// 标识错误类型的 HRESULT 值,这些错误不是 SQL Server CE 固有的
bld.Append("\r\nError Code: ").Append(err.HResult.ToString("X"));
// 对错误进行描述的文本
bld.Append("\r\nMessage: ").Append(err.Message);
// 获取 SqlCeError 的本机错误号
bld.Append("\r\nMinor Err.: ").Append(err.NativeError);
// 生成错误的提供程序的名称
bld.Append("\r\nSource: ").Append(err.Source);


// 遍历前三个错误参数。SQL Server CE 使用错误参数来提供有关错误的其他详细信息。
foreach (int numPara in err.NumericErrorParameters)
{
// 虽然错误可能存在参数,但并非发生的所有错误都返回参数。
// 如果发生某个错误时没有返回任何参数,则该数组的值为 0。
if (numPara != 0)
{
bld.Append("\r\nNum. Par.: ").Append(numPara);
}
}


// 遍历最后三个错误参数。SQL Server CE 使用错误参数来提供有关错误的其他详细信息。
foreach (string errPara in err.ErrorParameters)
{
// 虽然错误可能存在参数,但并非发生的所有错误都返回参数。
// 如果发生某个错误时没有返回任何参数,则该数组的值将为空字符串。
if (errPara != String.Empty)
{
bld.Append("\r\nErr. Par.: ").Append(errPara);
}
}
}


MessageBox.Show(bld.ToString());
}


参考:
SQL Server Mobile 2005 联机丛书
MSDN Library


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.