ADO.NET 基础教程(二)

上一节讲到了怎样使用ADO.NET来查询数据,这节讲怎么样运行SQL的SELECT、INSERT和UPDATE命令及存储过程

1、存储过程

C#的代码如下:

///

1<summary>   
2/// 存储过程参数结构   
3/// </summary>

public struct ProcParam
{
public string ParamName;
public string ParamValue;
public System.Data.SqlDbType ParamType ;
}

///

1<summary>   
2/// 执行一个返回数据集的存储过程   
3/// </summary>

///

1<param name="strProcName"/>

存储过程名称
///

1<param name="alParamName"/>

参数名称
///

1<param name="alParamValue"/>

参数值
///

1<param name="constring"/>

数据连接串
///

1<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

 1<alparamname.count ());="" (),alparamvalue[i].tostring="" ();="" (alparamname[i].tostring="" (param);="" 2、直接sql命令="" ;i++)="" <summary="" cmd.parameters.add="" dr="cmd.ExecuteReader" dr;="" param="new" return="" system.data.sqlclient.sqldatareader="" system.data.sqlclient.sqlparameter="" {="" }="" 上述代码可以执行任意参数的存储过程(返回一个数据集)="">   
 2/// 执行一个返回字符串的SQL SCRIPT   
 3///    
 4/// <param name="constring"/>连接串   
 5/// <param name="SQL_COMMAND"/>SQL命令   
 6/// <returns>返回数据集</returns>   
 7public static string GetDataString(string SQL_COMMAND,string constring)   
 8{   
 9System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);   
10cn.Open ();   
11System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();   
12cmd.Connection =cn;   
13cmd.CommandType =System.Data.CommandType.Text ;   
14cmd.CommandText =SQL_COMMAND;   
15string str="";   
16try   
17{   
18str=cmd.ExecuteScalar().ToString ();   
19}   
20catch(System.Data.SqlClient.SqlException e)   
21{   
22System.Diagnostics.Debug.WriteLine (e.Message );   
23}   
24catch(Exception ex)   
25{   
26System.Diagnostics.Debug.WriteLine (ex.Message );   
27}   
28return str;   
29} 
30
31/// <summary>   
32/// 执行一个无返回的SQL   
33/// </summary>   
34/// <param name="SQL_COMMAND"/>   
35/// <param name="constring"/>   
36/// <returns></returns>   
37public static void Executesql(string SQL_COMMAND,string constring)   
38{   
39System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);   
40cn.Open ();   
41System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();   
42cmd.Connection =cn;   
43cmd.CommandType =System.Data.CommandType.Text ;   
44cmd.CommandText =SQL_COMMAND;   
45try   
46{   
47cmd.ExecuteNonQuery ();   
48}   
49catch(System.Data.SqlClient.SqlException e)   
50{   
51System.Diagnostics.Debug.WriteLine (e.Message );   
52}   
53catch(Exception ex)   
54{   
55System.Diagnostics.Debug.WriteLine (ex.Message );   
56}   
57} 
58
59以上代码建议放在一个类中,如果有问题请与我联系msn:[email protected]</alparamname.count>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus