1、存儲(chǔ)過程
C#的代碼如下:
/// <summary>
/// 存儲(chǔ)過程參數(shù)結(jié)構(gòu)
/// </summary>
public struct ProcParam
{
public string ParamName;
public string ParamValue;
public System.Data.SqlDbType ParamType ;
}
/// <summary>
/// 執(zhí)行一個(gè)返回?cái)?shù)據(jù)集的存儲(chǔ)過程
/// </summary>
/// <param name="strProcName">存儲(chǔ)過程名稱</param>
/// <param name="alParamName" >參數(shù)名稱</param>
/// <param name="alParamValue" >參數(shù)值</param>
/// <param name="constring">數(shù)據(jù)連接串</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;
}
上述代碼可以執(zhí)行任意參數(shù)的存儲(chǔ)過程(返回一個(gè)數(shù)據(jù)集)
2、直接SQL命令
/// <summary>
/// 執(zhí)行一個(gè)返回字符串的SQL SCRIPT
/// </summary>
/// <param name="constring" >連接串</param>
/// <param name="SQL_COMMAND" >SQL命令</param>
/// <returns>返回?cái)?shù)據(jù)集</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>
/// 執(zhí)行一個(gè)無返回的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 );
}
}