国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

操作 SQL Server Mobile 2005 數(shù)據(jù)庫(kù)的常用 C# 代碼

2024-07-21 02:28:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

整理幾段操作 sql server mobile 數(shù)據(jù)庫(kù)的常用 c# 代碼,供剛剛接觸 sql server mobile 開(kāi)發(fā)的朋友參考。

1. 創(chuàng)建數(shù)據(jù)庫(kù)
// 創(chuàng)建數(shù)據(jù)庫(kù)
file.delete("test.sdf");
sqlceengine engine = new sqlceengine(
    "data source='test.sdf';lcid=1033;password=/"s$;2'!ds64/";encrypt=true;");
engine.createdatabase();

2. 驗(yàn)證和修復(fù)數(shù)據(jù)庫(kù)
// 驗(yàn)證和修復(fù)數(shù)據(jù)庫(kù)
sqlceengine engine = new sqlceengine("data source=adventureworks.sdf");
if (false == engine.verify())
{
    messagebox.show("database is corrupted.");
    engine.repair(null, repairoption.recovercorruptedrows);
}

3. 壓縮數(shù)據(jù)庫(kù)
// 壓縮數(shù)據(jù)庫(kù)
// 通過(guò)從現(xiàn)有文件新建數(shù)據(jù)庫(kù)文件來(lái)回收 sql server mobile 數(shù)據(jù)庫(kù)中浪費(fèi)的空間。
// 此方法還可用來(lái)更改數(shù)據(jù)庫(kù)的排序順序、加密或密碼設(shè)置。
// 該連接字符串指定一個(gè)指向?qū)⒂纱朔椒▌?chuàng)建的目標(biāo)數(shù)據(jù)庫(kù)的連接。
// 如果指定的數(shù)據(jù)庫(kù)已經(jīng)存在或者具有相同名稱的另一文件已經(jīng)存在,則會(huì)引發(fā)異常。
// 如果為連接字符串傳遞空字符串,則新的數(shù)據(jù)庫(kù)文件將改寫(xiě)舊的數(shù)據(jù)庫(kù)文件,
// 但名稱保持不變。
sqlceengine engine = new sqlceengine("data source=adventureworks.sdf");
//engine.compact(null);
engine.compact("data source=; [email protected]!7f$dq;");

 
4. 收縮數(shù)據(jù)庫(kù)

// 收縮數(shù)據(jù)庫(kù)
// 通過(guò)將空頁(yè)移動(dòng)到文件的結(jié)尾然后截?cái)嘣撐募?br>// 來(lái)回收 sql server mobile 數(shù)據(jù)庫(kù)中浪費(fèi)的空間。
// 與 compact 方法不同,shrink 方法不創(chuàng)建臨時(shí)數(shù)據(jù)庫(kù)文件,
// 而是將所有空頁(yè)和未分配的頁(yè)都移到了文件的結(jié)尾,然后截?cái)啵瑥亩鴾p小數(shù)據(jù)庫(kù)的總大小。
sqlceengine engine = new sqlceengine("data source=adventureworks.sdf");
engine.shrink();

5. 合并復(fù)制
// 合并復(fù)制
// 實(shí)例化并配置 sqlcereplication 對(duì)象
sqlcereplication repl = new sqlcereplication();
repl.interneturl = "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
repl.internetlogin = "myinternetlogin";
repl.internetpassword = "<password>";
repl.publisher = "mypublisher";
repl.publisherdatabase = "mypublisherdatabase";
repl.publisherlogin = "mypublisherlogin";
repl.publisherpassword = "<password>";
repl.publication = "mypublication";
repl.subscriber = "mysubscriber";
repl.subscriberconnectionstring = "data source=mydatabase.sdf";

// 創(chuàng)建一個(gè)本地 sql server mobile 數(shù)據(jù)庫(kù)的訂閱
repl.addsubscription(addoption.createdatabase);

// 跟 sql server 數(shù)據(jù)庫(kù)進(jìn)行同步
repl.synchronize();

// 清理 repl 對(duì)象
repl.dispose();

6. 遠(yuǎn)程數(shù)據(jù)訪問(wèn)(rda)
// 遠(yuǎn)程數(shù)據(jù)訪問(wèn)
// 實(shí)例化并配置 sqlceremotedataaccess 對(duì)象
sqlceremotedataaccess rda = new sqlceremotedataaccess();
rda.interneturl = "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
rda.internetlogin = "myinternetlogin";
rda.internetpassword = "<password>";
rda.localconnectionstring = "data source=mydatabase.sdf";

// 從 sql server 下載數(shù)據(jù)
rda.pull(
    "employees",
    "select * from dimemployee",
    "provider=sqloledb;server=mysqlserver;database=adventureworks;uid=sa;pwd=;",
    rdatrackoption.trackingonwithindexes,
    "errortable");

//
// 修改本地?cái)?shù)據(jù)
//

// 將已修改的數(shù)據(jù)上傳到 sql server
rda.push(
    "dimemployee",
"provider=sqloledb;server=mysqlserver;database=adventureworks;uid=sa;pwd=;");

// 提交 sql 語(yǔ)句在 sql server 上執(zhí)行
rda.submitsql(
    "create table myremotetable (cola int)",
    "provider=sqloledb;server=mysqlserver;database=adventureworks;uid=sa;pwd=;");

7. 使用 sqlceresultset
// 使用 sqlceresultset
// 創(chuàng)建 sql server mobile 數(shù)據(jù)庫(kù)連接
sqlceconnection conn = new sqlceconnection("data source=northwind.sdf");

// 創(chuàng)建并配置 sqlcecommand 對(duì)象
sqlcecommand cmd = conn.createcommand();
cmd.commandtext = "select * from orders";

// 創(chuàng)建 sqlceresultset 對(duì)象,并配置為可滾動(dòng)、可更新、檢測(cè)數(shù)據(jù)源更改
resultsetoptions options = resultsetoptions.scrollable |
                                         resultsetoptions.sensitive |
                                         resultsetoptions.updatable;
sqlceresultset resultset = cmd.executeresultset(options);

// 創(chuàng)建 resultsetview 對(duì)象,配置為只顯示序號(hào)為 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)
    {
        // 標(biāo)識(shí)錯(cuò)誤類型的 hresult 值,這些錯(cuò)誤不是 sql server ce 固有的
        bld.append("/r/nerror code: ").append(err.hresult.tostring("x"));
        // 對(duì)錯(cuò)誤進(jìn)行描述的文本
        bld.append("/r/nmessage: ").append(err.message);
        // 獲取 sqlceerror 的本機(jī)錯(cuò)誤號(hào)
        bld.append("/r/nminor err.: ").append(err.nativeerror);
        // 生成錯(cuò)誤的提供程序的名稱
        bld.append("/r/nsource: ").append(err.source);

        // 遍歷前三個(gè)錯(cuò)誤參數(shù)。sql server ce 使用錯(cuò)誤參數(shù)來(lái)提供有關(guān)錯(cuò)誤的其他詳細(xì)信息。
        foreach (int numpara in err.numericerrorparameters)
        {
            // 雖然錯(cuò)誤可能存在參數(shù),但并非發(fā)生的所有錯(cuò)誤都返回參數(shù)。
            // 如果發(fā)生某個(gè)錯(cuò)誤時(shí)沒(méi)有返回任何參數(shù),則該數(shù)組的值為 0。
            if (numpara != 0)
            {
                bld.append("/r/nnum. par.: ").append(numpara);
            }
        }

        // 遍歷最后三個(gè)錯(cuò)誤參數(shù)。sql server ce 使用錯(cuò)誤參數(shù)來(lái)提供有關(guān)錯(cuò)誤的其他詳細(xì)信息。
        foreach (string errpara in err.errorparameters)
        {
            // 雖然錯(cuò)誤可能存在參數(shù),但并非發(fā)生的所有錯(cuò)誤都返回參數(shù)。
            // 如果發(fā)生某個(gè)錯(cuò)誤時(shí)沒(méi)有返回任何參數(shù),則該數(shù)組的值將為空字符串。
            if (errpara != string.empty)
            {
                bld.append("/r/nerr. par.: ").append(errpara);
            }
        }
}

    messagebox.show(bld.tostring());
}

參考:
sql server mobile 2005 聯(lián)機(jī)叢書(shū)
msdn library

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 康保县| 赫章县| 汉源县| 华亭县| 平果县| 榆树市| 建宁县| 桐梓县| 黑水县| 石棉县| 柳州市| 江安县| 德庆县| 德惠市| 罗甸县| 大余县| 佛学| 微山县| 玉溪市| 陕西省| 合肥市| 安丘市| 老河口市| 财经| 海原县| 图木舒克市| 凤凰县| 济阳县| 太仓市| 周宁县| 霍州市| 青海省| 尼勒克县| 仲巴县| 游戏| 阿鲁科尔沁旗| 杭锦后旗| 申扎县| 灵丘县| 绍兴市| 修文县|