亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        在ASP.NET中用存儲過程執(zhí)行SQL語句

        字號:


            存儲過程:是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。by google
            存儲過程執(zhí)行效率比單獨(dú)的SQL語句效率高。
            樣編寫存儲過程?存儲過程在SQL Server 2005對應(yīng)數(shù)據(jù)庫的可編程性目錄下。
            比如,創(chuàng)建一個存儲過程
            create procedure procNewsSelectNewNews
            as
            begin
            select top 10 n.id,n.title,n.createTime,c.name from news n
            inner join category c on n.caId=c.id
            order by n.createTime desc
            end
            執(zhí)行定義好的存儲過程
            exec procNewsSelectNewNews
            存儲過程返回的是一張表
            public DataTable test(string procName)
            {
            DataTable dt=new DataTable();
            cmd=new SqlCommand(procName,GetConn()); //數(shù)據(jù)庫連接和連接開閉,都放在了GetConn()方法中
            cmd.CommandType=CommandType.StoredProcedure; //定義SQL語句命令類型為存儲過程
            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection));//方法將SQL語句發(fā)送給SqlConnection并生產(chǎn)一個SqlDataReader類對象,該SqlDataReader對象包含SQL命令返回的數(shù)據(jù)
            { dt.Load(sdr); //load查詢dataread查詢的結(jié)果 }
            return dt;
            }
            當(dāng)一個項(xiàng)目中既要用到SQL語句又要用到存儲過程的時候,而執(zhí)行SQL語句和執(zhí)行存儲過程的方法都差不多,就是相差一個CommandType類型,所以如果有這樣的情況,我們可以重構(gòu)關(guān)于SQL語句和存儲過程這兩個方法
            public DataTable ExecuteQuery(string sqlText,CommandType ct); //不僅傳入SQL語句還傳入一個命令類型
            {
            DataTable dt=new DataTable();
            cmd=new SqlCommand(sqlText,GetConn());
            cmd.CommandType=ct;
            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            { dt.Load(sdr);}
            return dt;
            }
            查詢方法寫好之后,就可以寫SQL語句或存儲過程的方法了
            比如:存儲過程
            public DataTable SelectNewNews()
            {
            return sqlhelper.ExecuteQuery(“存儲過程名”,CommandType.StoredProcedure)
            }
            SQL語句
            public DataTable SelectAll()
            {
            DataTable dt=new DataTable();
            string sql=”select * from news”;
            dt=sqlhelper.ExecuteQuery(sql,CommandType.Text);·
            return dt
            }