a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

C#中如何執(zhí)行存儲(chǔ)過(guò)程方法

2020-01-24 03:30:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

功能 :  根據(jù)調(diào)用的方法名稱  反射動(dòng)態(tài)調(diào)用  sql Command 的方法

復(fù)制代碼 代碼如下:

 /// <summary>
    /// 存儲(chǔ)過(guò)程的屬性
    /// ProcName 存儲(chǔ)過(guò)程的名稱
    /// MethodName 執(zhí)行SqlCommand 方法的名稱
    /// PrmList 存儲(chǔ)過(guò)程的參數(shù)
    /// </summary>
    public class ExeProc
    {
        public string ProcName;
        public string MethodName;
        public object[] PrmValue;
    }

根據(jù)制定的存儲(chǔ)過(guò)程的名稱

和參數(shù)  來(lái)執(zhí)行指定的存儲(chǔ)過(guò)程 和 調(diào)用 sqlCommand 的方法

復(fù)制代碼 代碼如下:

public class DataHelper
    {
        private string connString = null;
        public DataHelper(string conStr)
        {
            this.connString = conStr;
        }
        /// <summary>
        ///  執(zhí)行存儲(chǔ)過(guò)程
        /// </summary>
        /// <param name="ep">執(zhí)行存儲(chǔ)過(guò)程的屬性
        /// ProcName 存儲(chǔ)過(guò)程的名稱
        /// MethodName 執(zhí)行SqlCommand 方法的名稱
        /// PrmList 存儲(chǔ)過(guò)程的參數(shù)
        /// </param>
        /// <returns>返回執(zhí)行的結(jié)果</returns>
        public object ExecProcRetObj(ExeProc ep)
        {
            if (this.connString != null && this.connString != string.Empty)
            {
                try
                {
                    SqlConnection con = new SqlConnection(this.connString);
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = con;
                    cmd.CommandText = "Exec " + ep.ProcName + " ";
                    foreach (object obj in ep.PrmValue)
                    {
                        cmd.CommandText += obj + ",";
                    }
                    cmd.CommandText = cmd.CommandText.Remove(cmd.CommandText.Length - 1, 1);
                    Type ty = cmd.GetType();
                    con.Open();

                    //用反射根據(jù)輸入的方法名 執(zhí)行對(duì)應(yīng)的方法

                    object retObj = ty.InvokeMember(ep.MethodName, BindingFlags.InvokeMethod, null, cmd, null);
                    if (retObj.GetType().FullName == "System.Data.SqlClient.SqlDataReader")
                    {
                        //將返回的object 轉(zhuǎn)換成DataTable
                        DataTable retDt = new DataTable();
                        retDt.Load(retObj as SqlDataReader);
                        con.Close();
                        con.Dispose();
                        return retDt;
                    }

                    return retObj;
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show("獲取數(shù)據(jù)發(fā)生錯(cuò)誤/n" + ex.Message);
                }

            }
            return null;
        }
    }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧日韩不卡在线视频 | 国产网站在线 | 黄色在线免费观看 | 日韩一区二区三区在线播放 | 九九热精 | 国产性一级片 | 亚洲乱码一区二区三区在线观看 | 久久精品国产一区二区三区不卡 | 国产成人av在线 | 亚洲一区二区三区福利 | 欧美黄视频在线观看 | 中文字幕乱码一区二区三区 | 国产男人的天堂 | 国产免费视频 | 亚洲精品二区 | 精品视频久久久 | 精品一区二区三区四区五区 | 99精品九九 | 成人免费视频 | 九九久久久| 婷婷毛片 | 久久av影视| 日本在线播放 | 国产免费自拍视频 | av在线一区二区三区 | 黄色av电影在线观看 | 一区福利视频 | 岛国av免费观看 | 在线免费观看一区 | 妞干网免费在线视频 | 天天射影院 | av电影一区二区 | 国产精品久久久久久久久久三级 | 亚洲成人精品 | 欧美怡红院视频一区二区三区 | 久久99精品久久久久久琪琪 | 精品一区二区三区四区 | 四虎影音 | 国产在线一区观看 | 国产免费网址 | 在线视频 91 |