純粹的技術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#  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 邹城市| 乐陵市| 炎陵县| 滦南县| 和田市| 岑巩县| 镶黄旗| 德格县| 石楼县| 安徽省| 望谟县| 高淳县| 中山市| 镇宁| 宁晋县| 花垣县| 化州市| 大荔县| 镇安县| 吴堡县| 理塘县| 桃源县| 东海县| 徐水县| 平塘县| 上犹县| 怀仁县| 册亨县| 金山区| 张北县| 水城县| 闻喜县| 通江县| 饶阳县| 合川市| 巨鹿县| 克什克腾旗| 集安市| 福州市| 资源县| 贵定县|