• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • dotNET下面調用Access中存儲過程的方法

    發表于:2007-05-25來源:作者:點擊數: 標簽:下面過程AccessDotNet存儲
    在Sql Server中使用存儲過程是大家都比較熟悉的了,前不久自己作了一個小東東, 數據庫 使用的是MS Access數據庫,也想著試試用存儲過程是否可行。畢竟,存儲過程與代碼的關系不是非常大,數據庫和存儲過程的修改有些是不用更改編碼的。下面貼出我的代碼,大
    在Sql Server中使用存儲過程是大家都比較熟悉的了,前不久自己作了一個小東東,數據庫使用的是MS Aclearcase/" target="_blank" >ccess數據庫,也想著試試用存儲過程是否可行。畢竟,存儲過程與代碼的關系不是非常大,數據庫和存儲過程的修改有些是不用更改編碼的。下面貼出我的代碼,大家會發現,其實跟調用Sql Server的存儲過程是完全一樣的,不同的僅僅在于存儲過程的名稱。


    以刪除人員信息為例:
    1. 這里是數據訪問層的一段代碼,直接調用存儲過程。



    public class Person
    {
    ///定義存儲過程,注意,這里的存儲過程用 [ ] 括起來了。
    private const string ASP_PERSON_INSERT = "[asp_Person_Insert]";
    private const string ASP_PERSON_UPDATE = "[asp_Person_Update]";
    private const string ASP_PERSON_DELETE = "[asp_Person_Delete]";
    ...................................
    private const string PARM_PERSON_PERSONID="@PersonID";
    ..................................


    private OleDbParameter[] GetDeleteParam(int PersonID)
    {
    OleDbParameter[] param = new OleDbParameter[]
    {
    new OleDbParameter(PARM_PERSON_PERSONID,OleDbType.Integer)
    };
    param[0].Value=PersonID;
    return param;
    }


    /// <summary>
    /// 刪除人員信息
    /// </summary>
    /// <param name="personID">人員ID</param>
    /// <returns>成功返回True;失敗返回False</returns>
    public bool Delete(int personID)
    {
    //ASP_PERSON_DELETE 存儲過程的名稱。


    OleDbParameter[] param=this.GetDeleteParam(personID);
    try
    {
    /// 調用方式沒有變化。
    int i=Utility.Tools.CreateOleDbCommandExecuteNonQuery(ASP_PERSON_DELETE,param);
    if (i>0)
    {
    return true;
    }
    }
    catch
    {
    }
    return false;
    }



    2.再來看看Access數據庫里面跟Sql Server有什么區別:



    Access數據庫中的存儲過程是以“查詢”的方式存放的,打開你的Access數據庫,選中“查詢”,選中“新建”,先建立一個簡單的查詢。選擇表和需要的字段以及需要的參數。這時,再選中工具欄中的SQL視圖,您可以看到如下的語句:



    PARAMETERS [PersonID] Short;
    DELETE *
    FROM PersonInfo
    WHERE [PersonInfo].[PersonID]=[PersonID];



    如果參數多,請參照:PARAMETERS [ID] Short, [ParentID] Short, [OrganName] Text ( 255 ), [Numbe] Text ( 255 ), [OtherName] Text ( 255 ), [CodeID] Text ( 255 ), [OrganSpec] Text ( 255 ), [OrganProperty] Text ( 255 ), [OutLayType] Text ( 255 ), [ManageDepart] Text ( 255 ), [SetUpTime] DateTime, [PassDepart] Text ( 255 ), [OrganNUM] Short, [PersonNUM] Short, [PassNumber] Text ( 255 ), [Address] Text ( 255 ), [JPerson] Text ( 255 ), [Tel] Text ( 255 ), YearCheck Text ( 255 );



    最后,保存就可以運行你的代碼試試了。另外,Access里面沒有Sql Server的查詢器,所以你要在Access中測試你的存儲過程會比較麻煩些:右鍵選中你的存儲過程,選擇“打開”即可,但是參數不要輸入錯誤。Access中寫存儲過程是閉架麻煩的,畢竟不象Sql Server那樣對存儲過程的支持好,所以要特別細心而且強烈建議大家經常保存。



    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>