純粹的技術BLOG

          常用鏈接

          統計

          最新評論

          在C#中運行SQL的SELECT、INSERT和UPDATE命令及存儲過程

          1、存儲過程

          C#的代碼如下:

          /// <summary>
            /// 存儲過程參數結構
            /// </summary>
            public struct ProcParam
            {
             public string ParamName;
             public string ParamValue;
             public System.Data.SqlDbType ParamType ;
            }

          /// <summary>
            /// 執行一個返回數據集的存儲過程
            /// </summary>
            /// <param name="strProcName">存儲過程名稱</param>
            /// <param name="alParamName" >參數名稱</param>
            /// <param name="alParamValue" >參數值</param>
            /// <param name="constring">數據連接串</param>
            /// <returns></returns>
            public static System.Data.SqlClient.SqlDataReader  ExecProcedure(string strProcName,System.Collections.ArrayList alParamName,System.Collections.ArrayList alParamValue,string constring)
            {
             
             System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
             cn.Open ();
             System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
             cmd.Connection =cn;
             cmd.CommandType =System.Data.CommandType.StoredProcedure ;
             cmd.CommandText =strProcName;
             for(int i=0;i<alParamName.Count ;i++)
             {
              System.Data.SqlClient.SqlParameter  param=new System.Data.SqlClient.SqlParameter (alParamName[i].ToString (),alParamValue[i].ToString ());
              cmd.Parameters.Add (param);
             }
             System.Data.SqlClient.SqlDataReader dr;
             dr=cmd.ExecuteReader ();
             return dr;
            }

          上述代碼可以執行任意參數的存儲過程(返回一個數據集)

          2、直接SQL命令

            /// <summary>
            /// 執行一個返回字符串的SQL SCRIPT
            /// </summary>
            /// <param name="constring" >連接串</param>
            /// <param name="SQL_COMMAND" >SQL命令</param>
            /// <returns>返回數據集</returns>
            public static string  GetDataString(string SQL_COMMAND,string constring)
            { 
             System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
             cn.Open ();
             System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
             cmd.Connection =cn;
             cmd.CommandType =System.Data.CommandType.Text  ;
             cmd.CommandText =SQL_COMMAND;
             string str="";
             try
             {
              str=cmd.ExecuteScalar().ToString ();
             }
             catch(System.Data.SqlClient.SqlException e)

          {
              System.Diagnostics.Debug.WriteLine (e.Message );
             }
             catch(Exception ex)
             {
              System.Diagnostics.Debug.WriteLine (ex.Message );
             }
             return str;
            }

          /// <summary>
            /// 執行一個無返回的SQL
            /// </summary>
            /// <param name="SQL_COMMAND"></param>
            /// <param name="constring"></param>
            /// <returns></returns>
            public static void  Executesql(string SQL_COMMAND,string constring)
            { 
             System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
             cn.Open ();
             System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
             cmd.Connection =cn;
             cmd.CommandType =System.Data.CommandType.Text  ;
             cmd.CommandText =SQL_COMMAND;
             try
             {
              cmd.ExecuteNonQuery ();
             }
             catch(System.Data.SqlClient.SqlException e)
             {
              System.Diagnostics.Debug.WriteLine (e.Message );
             }
             catch(Exception ex)
             {
              System.Diagnostics.Debug.WriteLine (ex.Message );
             }
            }

          posted on 2007-04-03 11:38 純粹 閱讀(4542) 評論(1)  編輯  收藏

          評論

          # re: 在C#中運行SQL的SELECT、INSERT和UPDATE命令及存儲過程 2007-08-29 17:53 dreamstone

          只用過vb.net,還沒用過c#  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 荔波县| 游戏| 湘西| 桦甸市| 阿巴嘎旗| 台前县| 贵定县| 宁蒗| 乐平市| 遂溪县| 酉阳| 右玉县| 宝清县| 上饶市| 武城县| 遂溪县| 九江县| 黑山县| 通辽市| 青海省| 司法| 邵东县| 龙陵县| 汶上县| 长海县| 个旧市| 方城县| 泽州县| 济源市| 岳普湖县| 汉寿县| 曲周县| 阳东县| 观塘区| 晋城| 石狮市| 张家界市| 龙口市| 常熟市| 永泰县| 华安县|