久久综合噜噜激激的五月天|日本久久久精品免費|一本到国产在线精品国内在线99|国产亚洲人成网站在线观看

  • 
    
      <td id="exp9y"></td>
      <ruby id="exp9y"></ruby>
        <center id="exp9y"><ol id="exp9y"><video id="exp9y"></video></ol></center>
        <sup id="exp9y"></sup>
        站內(nèi)搜索  

        哈爾濱百姓網(wǎng)首頁(yè) | 操作系統(tǒng) | 軟件應(yīng)用 | 平面設(shè)計(jì) | 程序開(kāi)發(fā) | 硬件維護(hù) | 網(wǎng)絡(luò)安全
         您的位置: 哈爾濱百姓網(wǎng) > 電腦網(wǎng)絡(luò) > 程序開(kāi)發(fā) > 閱讀文章:Access中使用Create Procedure創(chuàng)建存儲(chǔ)過(guò)程
        Access中使用Create Procedure創(chuàng)建存儲(chǔ)過(guò)程
        2009-4-17 9:31:08 哈爾濱百姓網(wǎng) 來(lái)源:百度空間 瀏覽 次 【 】【打印】【關(guān)閉

        在Access自身的幫助中看到了Create Procedure語(yǔ)句,測(cè)試了老半天,終于發(fā)現(xiàn)了訣竅:必須使用OleDb連接才能使用Create Procedure語(yǔ)句。ODBC連接不支持該語(yǔ)句,提示Create Table語(yǔ)法錯(cuò)誤。  

          創(chuàng)建了存儲(chǔ)過(guò)程后,使用Office Access工具打開(kāi)數(shù)據(jù)庫(kù),在“對(duì)象 - 查詢”中能夠看到你創(chuàng)建的存儲(chǔ)過(guò)程。  
        創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)法: 

        Create Procedure YourProc  
        (  
                 @param1 varchar(254),  
                 @param2 int  
        )  
        As  
        (  
                 select * from Table1 where ID>@param2 and username=@param1  
        )  

        查詢數(shù)據(jù)時(shí)只需要使用:  
                 Rs.Open "YourProc admin,1", Conn  

        myproc.vbs 

        [復(fù)制此代碼]CODE: 
        Set DB = GetObject("script:http://www.zope.org/Members/Rimifon/DbHelper.sct")  
        DB.ConnStr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=MyProc.mdb"  
        DB.NonQuery "create table Sheet1(id counter,name varchar(254),score int)"  
        DB.NonQuery "Create Procedure MyProc(@name varchar(254), @score int) as (insert into Sheet1(name,score) values(@name, @score))"  
        DB.NonQuery "Create Procedure Result as (select * from Sheet1)"  
        MsgBox "創(chuàng)建了表和存儲(chǔ)過(guò)程"  
        DB.NonQuery "Execute MyProc Rimifon,90"  
        DB.NonQuery "Exec MyProc FengYun,93"  
        Set Ds = DB.DataSet("Result")  
        MsgBox "執(zhí)行了存儲(chǔ)過(guò)程"  
        DB.NonQuery "drop Procedure MyProc"  
        DB.NonQuery "drop Procedure Result"  
        DB.NonQuery "drop table Sheet1"  
        MsgBox "刪除了表和存儲(chǔ)過(guò)程"  
        Set DB = Nothing  
        Dim Result  
        Result="所有記錄:" & Chr(13)  
        For Each Item In Ds  
             If IsObject(Item) Then  
                 Result = Result & Item.ID & Chr(9) &_  
                     Item.Name & Chr(9) & Chr(9) &_  
                     Item.Score & Chr(13)  
             End If  
        Next  
        Set Ds = Nothing  
        MsgBox Result風(fēng)雲(yún)數(shù)據(jù)庫(kù)操作組件  

        http://www.zope.org/Members/Rimifon/DbHelper.sct的內(nèi)容CODE:  
        <?xml version="1.0" encoding="utf-8"?>  
        <package>  
             <?component error="false" debug="false"?>  
             <comment>  
                 <![CDATA[             風(fēng)雲(yún)數(shù)據(jù)庫(kù)操作組件  
                     Author: Rimifon  
                     LastDate: 10:50 2006-08-19]]>  
             </comment>  
             <scriptlet id="DataHelper">  
                 <registration classid="{12345678-aabb-ccdd-eeff-012345678901}" progid="Rimifon.DataHelper" description="風(fēng)雲(yún)數(shù)據(jù)庫(kù)操作組件" version="1.2" remotable="true">  
                     <script language="vbscript">  
                         <![CDATA[Function Register()  
             MsgBox "歡迎使用Rimifon.DataHelper組件,你已經(jīng)成功注冊(cè)了本組件。", 0, "組件注冊(cè)提示"  
        End Function  
        Function Unregister()  
             MsgBox "感謝使用Rimifon.DataHelper組件,你已經(jīng)成功卸載了本組件。", 0, "組件卸載提示"  
        End Function]]>  
                     </script>  
                 </registration>  
                 <public>  
                     <property name="Name" dispid="0" description="組件名稱,只讀"><get internalName="ProductName" /></property>  
                     <property name="ConnStr" description="數(shù)據(jù)庫(kù)連接字符串設(shè)置" />  
                     <method name="CreateAccess" description="創(chuàng)建空白Access數(shù)據(jù)庫(kù),成功后返回連接字符串">  
                         <parameter name="DbPath" description="新數(shù)據(jù)庫(kù)的位置,如果不指定則使用ConnStr中設(shè)置的數(shù)據(jù)庫(kù)位置" />  
                     </method>  
                     <method name="RecordSet" description="返回一個(gè)數(shù)據(jù)庫(kù)記錄集對(duì)象">  
                         <parameter name="ConnectionString" description="設(shè)置新記錄集的連接字符串(為空則使用公共連接字符串)" />  
                     </method>  
                     <method name="ParseSql" description="解析Sql字符串,vb和vbs中不推薦使用">  
                         <parameter name="Sql" description="代Sql語(yǔ)句" />  
                         <parameter name="Rule" description="代Sql語(yǔ)句中替代單引號(hào)的字符串,默認(rèn)為Chr(12)" />  
                     </method>  
                     <method name="NonQuery" description="執(zhí)行一個(gè)不返回結(jié)果集的查詢">  
                         <parameter name="Sql" description="查詢語(yǔ)句" />  
                         <parameter name="Rec" description="記錄集對(duì)象,為空則生成臨時(shí)記錄集對(duì)象" />  
                     </method>  
                     <method name="Scalar" description="執(zhí)行一個(gè)返回單行單字段的數(shù)據(jù)">  
                         <parameter name="Sql" description="查詢語(yǔ)句" />  
                         <parameter name="Rec" description="記錄集對(duì)象,為空則生成臨時(shí)記錄集對(duì)象" />  
                     </method>  
                     <method name="DataSet" description="執(zhí)行查詢并返回指定頁(yè)碼的數(shù)據(jù)集">  
                         <parameter name="Sql" description="查詢語(yǔ)句" />  
                         <parameter name="Size" description="設(shè)置每頁(yè)顯示的條數(shù),為0則全部顯示" />  
                         <parameter name="Page" description="設(shè)值頁(yè)碼(第幾頁(yè))" />  
                         <parameter name="Rec" description="記錄集對(duì)象,為空則生成臨時(shí)記錄集對(duì)象" />  
                     </method>  
                     <method name="CompactAccess" description="壓縮指定Access數(shù)據(jù)庫(kù),壓縮失敗后返回失敗原因">  
                         <parameter name="DbPath" description="被壓縮的數(shù)據(jù)庫(kù),不指定則使用ConnStr中設(shè)置的數(shù)據(jù)庫(kù)位置" />  
                     </method>  
                 </public>  
                 <script language="javascript">  
                     <![CDATA[var Nothing;  
        var ConnStr = "Driver=Microsoft Excel Driver (*.xls);ReadOnly=0;DBQ=Rimifon.xls";  
        function ProductName()  
        {  
             return "風(fēng)雲(yún)數(shù)據(jù)庫(kù)操作組件";  
        }  
        function CreateAccess(DbPath)  
        {  
             DbPath = DbPath?("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + DbPath):ConnStr;  
             var Catalog = new ActiveXObject("AdoX.Catalog");  
             try  
             {  
                 Catalog.Create(DbPath);  
                 Catalog.ActiveConnection.Close();  
             }  
             catch(err)  
             {  
                 DbPath = new Boolean;  
                 DbPath.message = err.message;  
             }  
             Catalog = Nothing;  
             CollectGarbage();  
             return DbPath;  
        }  
        function RecordSet(ConnectionString)  
        {  
             var Rec = new ActiveXObject("Adodb.RecordSet");  
             Rec.ActiveConnection = ConnectionString?ConnectionString:ConnStr;  
             Rec.CursorType = 1;  
             Rec.CursorLocation = 2;  
             Rec.LockType = 3;  
             return Rec;  
        }  
        function ParseSql(Sql, Rule)  
        {  
             if(!Rule) Rule="\f";  
             if(Sql.indexOf(Rule)<0) return Sql;  
             return Sql.replace(/'/g,"''").replace(new RegExp(Rule,"g"),"'");  
        }  
        function NonQuery(Sql, Rec)  
        {  
             if(!Rec) Rec = new RecordSet;  
             Rec.Source = Sql;  
             Rec.Open();  
             if(!arguments[1])  
             {  
                 Dispose(Rec);  
             }  
             else  
             {  
                 if(Rec.State) Rec.Close();  
             }  
        }  
        function Scalar(Sql, Rec)  
        {  
             if(!Rec) Rec = new RecordSet;  
             Rec.Source = Sql;  
             Rec.Open();  
             var Result = Rec.EOF?null:Rec.Fields.Item(0).Value;  
             if(Rec.State) Rec.Close();  
             if(!arguments[1]) Dispose(Rec);  
             return Result;  
        }  
        function DataSet(Sql, Size, Page, Rec)  
        {  
             var dataArr = new Array;  
             if(Size instanceof ActiveXObject)  
             {  
                 Rec = arguments[3] = Size;  
                 Size = 0;  
             }  
             if(!Rec) Rec = new RecordSet;  
             Rec.Source = Sql;  
             Rec.Open();  
             Size = parseInt(Size);  
             if(isNaN(Size) || !Size) Size = Rec.RecordCount;  
             if(Size) Rec.PageSize = Size;  
             if(!Page || isNaN(Page) || Page<0) Page = 1;  
             if(Page > Rec.PageCount) Page = Rec.PageCount;  
             dataArr.AbsolutePage =   Page;  
             if(Page > 0) Rec.AbsolutePage = Page;  
             dataArr.RecordCount = Rec.RecordCount;  
             dataArr.PageSize = Size;  
             dataArr.PageCount = Rec.PageCount;  
             var C = 0;  
             while(!Rec.EOF && C++ < Size)  
             {  
                 var Fields = new Object;  
                 for(var x=0; x<Rec.Fields.Count; x++)  
                 {  
                     Fields[x] = Fields[Rec.Fields(x).Name.replace(/\s/g,"_")] = Rec.Fields.Item(x).Value;  
                 }  
                 dataArr.push(Fields);  
                 Rec.MoveNext();  
             }  
             Rec.Close();  
             if(!arguments[3]) Dispose(Rec);  
             return dataArr;  
        }  
        function CompactAccess(DbPath)  
        {  
             if(!DbPath)  
             {  
                 DbPath = ConnStr.match(/(dbq|data source)=([^;]*)/i);  
                 if(!DbPath) return "未指定數(shù)據(jù)庫(kù)位置。";  
                 DbPath = DbPath[2];  
             }  
             DbPath = DbPath.replace(/\//g,"\\");  
             var DbName = DbPath.slice(DbPath.lastIndexOf("\\")+1);  
             var BackDb = DbName + Math.random() + ".MyDocs";  
             DbPath = DbPath.substr(0, DbPath.lastIndexOf("\\"));  
             var DBQ = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + DbPath;  
             try  
             {  
                 var Jro = new ActiveXObject("Jro.JetEngine");  
                 var Fso = new ActiveXObject("Scripting.FileSystemObject");  
                 Jro.CompactDatabase(DBQ+DbName, DBQ+BackDb);  
                 var File = Fso.GetFile(DbPath+DbName);  
                 File.Delete();  
                 File = Fso.GetFile(DbPath+BackDb);  
                 File.Name = DbName;  
                 Jro   = Fso = Nothing;  
                 CollectGarbage();  
             }  
             catch(err)  
             {  
                 return err.message;  
             }  
        }  
        function Dispose(Rec)  
        {  
                 Rec.ActiveConnection.Close();  
                 Rec = Nothing;  
                 CollectGarbage();  
        }]]>  
                 </script>  
             </scriptlet>  
        </package>

        轉(zhuǎn)自:http://hi.baidu.com/totaobao/blog/item/9549c1176c791e09c83d6d72.html
        [責(zé)任編輯:佚名]
         相關(guān)文章
        ·CSS布局方法的十八般技巧和兼容方案 (2009-11-13 17:14:48)
        ·利用Google給自己的網(wǎng)站加上投票功能 (2009-10-13 12:32:39)
        ·您試圖在此 Web 服務(wù)器上訪問(wèn) (2009-8-13 14:20:12)
        ·Asp偽靜態(tài)的實(shí)現(xiàn)及URL重寫-用ISAPI_Rewri (2009-8-6 15:07:08)
        ·巧用ASP腳本命令重啟服務(wù)器 (2009-8-6 15:05:39)
        ·Dreamweaver CS3網(wǎng)頁(yè)制作之CSS布局 (2009-7-1 16:07:45)
        ·網(wǎng)頁(yè)設(shè)計(jì)經(jīng)驗(yàn)和技巧總結(jié) (2009-7-1 16:03:12)
        ·網(wǎng)頁(yè)優(yōu)化必須做的26件事情 (2009-7-1 16:00:36)
        ·把數(shù)據(jù)庫(kù)結(jié)構(gòu)顯示出來(lái)的源代碼 (2009-4-17 9:55:16)
        ·插入記錄后馬上得到自動(dòng)編號(hào)值(Access庫(kù)) (2009-4-17 9:54:33)
        ·全面解決--如何獲得剛插入數(shù)據(jù)庫(kù)的記錄的 (2009-4-17 9:53:29)
        ·ASP計(jì)算兩個(gè)時(shí)間之差的函數(shù) (2009-4-17 9:52:11)
        ·一個(gè)通用數(shù)據(jù)庫(kù)顯示程序,能調(diào)任意庫(kù),任意 (2009-4-17 9:50:33)
        ·技巧:ASP開(kāi)發(fā)中存儲(chǔ)過(guò)程應(yīng)用全接觸 (2009-4-17 9:48:31)
        ·網(wǎng)站簡(jiǎn)體繁體轉(zhuǎn)換代碼 (2009-4-17 9:44:15)
        ·ASP導(dǎo)出Excel數(shù)據(jù)的四種方法 (2009-4-17 9:42:14)
        ·利用網(wǎng)頁(yè)監(jiān)聽(tīng),實(shí)現(xiàn)內(nèi)容中的圖片由滾輪控 (2009-4-17 9:37:21)
        ·html操作本地?cái)?shù)據(jù)庫(kù) (2009-4-17 9:33:18)
        ·asp實(shí)現(xiàn)同網(wǎng)站不同目錄綁定不同域名 (2009-4-17 9:27:57)
         熱門文章 哈爾濱電腦
        ·安全防護(hù)策略-打造堡壘主機(jī)
        ·SQL Server到底需要使用哪些端口?
        ·把重要的Word 2003文檔放到菜單中
        ·您試圖在此 Web 服務(wù)器上訪問(wèn)的 
        ·Photoshop制作火焰的神龍
        ·Win2003架設(shè)多用戶隔離Ftp服務(wù)器
        ·XP系統(tǒng)服務(wù)恢復(fù)批處理
        ·還有2天發(fā)布 Windows7必備77條小知識(shí)
        ·情侶玩兒法:用虛擬硬盤打造堅(jiān)不可摧的影子系統(tǒng)
        ·用U盤當(dāng)鑰匙 輕松繞過(guò)WinXP的登陸密碼
        ·Photoshop打造漂亮的心形掛鏈壁紙
         推薦文章 哈爾濱電腦
        ·精簡(jiǎn)節(jié)約!小公司辦公打印省錢全攻略
        ·CSS布局方法的十八般技巧和兼容方案
        ·三種方法 教你解決輸入法不顯示的問(wèn)題
        ·當(dāng)紅情侶QQ表情:茉莉和龍井
        ·Win 7出現(xiàn)休眠Bug 微軟提供解決方案
        ·將Powerpoint文檔轉(zhuǎn)換為Word文檔
        ·非常實(shí)用來(lái)學(xué)習(xí)連續(xù)供墨系統(tǒng)入門知識(shí)
        ·怕吃虧?怕假的?鑒別真假耗材的小竅門
        ·情侶玩兒法:用虛擬硬盤打造堅(jiān)不可摧的影子系統(tǒng)
        ·開(kāi)始—運(yùn)行(cmd)命令大全
        ·您試圖在此 Web 服務(wù)器上訪問(wèn)的 
         最新文章 哈爾濱電腦
        ·Web服務(wù)器如何避免CC攻擊
        ·SQL Server到底需要使用哪些端口?
        ·XP系統(tǒng)服務(wù)恢復(fù)批處理
        ·局域網(wǎng)遭ARP攻擊網(wǎng)絡(luò)掉線批處理
        ·CISCO 2811 路由器配置命令全集
        ·避免“悲劇” 打印機(jī)使用技巧全面攻略
        ·保障遠(yuǎn)程桌面Web連接安全四項(xiàng)注意
        ·教你六招處理服務(wù)器數(shù)據(jù)意外丟失
        ·挑選相紙有學(xué)問(wèn) 教你如何辨別相紙優(yōu)劣
        ·精簡(jiǎn)節(jié)約!小公司辦公打印省錢全攻略
        ·CSS布局方法的十八般技巧和兼容方案