ADO.NET 基础教程(二)

发布时间: 2007-01-24 11:37    作者: 未知    来源: 未知    浏览:    评论

 

上一节讲到了怎样使用ADO.NET来查询数据,这节讲怎么样运行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 );
   }
  }

以上代码建议放在一个类中,如果有问题请与我联系msn:ilxc8292@hotmail.com


TAG

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多