下面是类的原代码using System;using System.Collections;using System.Collections.Specialized;using System.Runtime.Remoting.Messaging;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace LTP.SQLServerDAL{/// <summary>/// ADO.NET数据库操作基础类。/// </summary>public abstract class DbManagerSQL{  //数据库连接字符串  protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];   public DbManagerSQL()  {   //   // TODO: 在此处添加构造函数逻辑   //  }  /// <summary>  /// 执行SQL语句,返回影响的记录数  /// </summary>  /// <param name="SQLString"></param>  /// <returns></returns>  public static int ExecuteSql(string SQLString)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {        using (SqlCommand cmd = new SqlCommand(SQLString,connection))    {     try     {        connection.Open();      int rows=cmd.ExecuteNonQuery();      return rows;     }     catch(System.Data.SqlClient.SqlException E)     {          throw new Exception(E.Message);     }    }       }  }  /// <summary>  /// 执行两条SQL语句,实现数据库事务。  /// </summary>  /// <param name="SQLString1"></param>  /// <param name="SQLString2"></param>  public static void ExecuteSqlTran(string SQLString1,string SQLString2)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    connection.Open();    SqlCommand cmd = new SqlCommand();    cmd.Connection=connection;        SqlTransaction tx=connection.BeginTransaction();       cmd.Transaction=tx;        try    {          cmd.CommandText=SQLString1;     cmd.ExecuteNonQuery();     cmd.CommandText=SQLString2;     cmd.ExecuteNonQuery();          tx.Commit();         }    catch(System.Data.SqlClient.SqlException E)    {       tx.Rollback();     throw new Exception(E.Message);    }    finally    {     cmd.Dispose();     connection.Close();    }    }  }   /// <summary>  /// 执行多条SQL语句,实现数据库事务,每条语句以“;”分割。  /// </summary>  /// <param name="SQLStringList"></param>  public static void ExecuteSqlTran(string SQLStringList)  {   using (OdbcConnection conn = new OdbcConnection(connectionString))   {    conn.Open();    OdbcCommand cmd = new OdbcCommand();    cmd.Connection=conn;        OdbcTransaction tx=conn.BeginTransaction();       cmd.Transaction=tx;        try    {        string [] split= SQLStringList.Split(new Char [] { ';'});     foreach (string strsql in split)      {      if (strsql.Trim()!="")      {       cmd.CommandText=strsql;       cmd.ExecuteNonQuery();      }     }            tx.Commit();         }    catch(System.Data.Odbc.OdbcException E)    {       tx.Rollback();     throw new Exception(E.Message);    }   }  }  /// <summary>  /// 执行带一个存储过程参数的的SQL语句。  /// </summary>  /// <param name="SQLString"></param>  /// <param name="content"></param>  /// <returns></returns>  public static int ExecuteSql(string SQLString,string content)  {       using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlCommand cmd = new SqlCommand(SQLString,connection);      System.Data.SqlClient.SqlParameter  myParameter = new System.Data.SqlClient.SqlParameter ( "@content", SqlDbType.NText);    myParameter.Value = content ;    cmd.Parameters.Add(myParameter);    try    {     connection.Open();     int rows=cmd.ExecuteNonQuery();     return rows;    }    catch(System.Data.SqlClient.SqlException E)    {         throw new Exception(E.Message);    }    finally    {     cmd.Dispose();     connection.Close();    }    }  }    /// <summary>  /// 向数据库里插入图像格式的字段  /// </summary>  /// <param name="strSQL"></param>  /// <param name="fs"></param>  /// <returns></returns>  public static int ExecuteSqlInsertImg(string strSQL,byte[] fs)  {     using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlCommand cmd = new SqlCommand(strSQL,connection);     System.Data.SqlClient.SqlParameter  myParameter = new System.Data.SqlClient.SqlParameter ( "@fs", SqlDbType.Image);    myParameter.Value = fs ;    cmd.Parameters.Add(myParameter);    try    {     connection.Open();     int rows=cmd.ExecuteNonQuery();     return rows;    }    catch(System.Data.SqlClient.SqlException E)    {         throw new Exception(E.Message);    }    finally    {     cmd.Dispose();     connection.Close();    }        }  }  /// <summary>  /// 执行一条计算查询结果语句,返回查询结果(整数)。  /// </summary>  /// <param name="strSQL"></param>  /// <returns></returns>  public static int GetCount(string strSQL)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlCommand cmd = new SqlCommand(strSQL,connection);        try    {     connection.Open();     SqlDataReader result = cmd.ExecuteReader();     int i=0;     while(result.Read())     {      i=result.GetInt32(0);     }     result.Close();         return i;    }    catch(System.Data.SqlClient.SqlException e)    {             throw new Exception(e.Message);    }     finally    {     cmd.Dispose();     connection.Close();    }   }  }   /// <summary>  /// 执行一条计算查询结果语句,返回查询结果(object)。  /// </summary>  /// <param name="SQLString"></param>  /// <returns></returns>  public static object GetSingle(string SQLString)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlCommand cmd = new SqlCommand(SQLString,connection);      try    {     connection.Open();     object obj = cmd.ExecuteScalar();     if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))     {           return null;     }     else     {      return obj;     }        }    catch(System.Data.SqlClient.SqlException e)    {         throw new Exception(e.Message);    }    finally    {     cmd.Dispose();     connection.Close();    }   }  }  /// <summary>  /// 执行查询语句,返回SqlDataReader  /// </summary>  /// <param name="strSQL"></param>  /// <returns></returns>  public static SqlDataReader ExecuteReader(string strSQL)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlCommand cmd = new SqlCommand(strSQL,connection);     SqlDataReader myReader;       try    {     connection.Open();      myReader = cmd.ExecuteReader();     return myReader;    }    catch(System.Data.SqlClient.SqlException e)    {             throw new Exception(e.Message);    }      finally    {     cmd.Dispose();     connection.Close();    }    }  }    /// <summary>  /// 执行查询语句,返回DataSet  /// </summary>  /// <param name="SQLString"></param>  /// <returns></returns>  public static DataSet Query(string SQLString)  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    DataSet ds = new DataSet();    try    {     connection.Open();     SqlDataAdapter command = new SqlDataAdapter(SQLString,connection);         command.Fill(ds,"ds");    }    catch(System.Data.SqlClient.SqlException ex)    {         throw new Exception(ex.Message);    }       return ds;   }     }  #region 存储过程操作  /// <summary>  /// 运行存储过程  /// </summary>  /// <param name="storedProcName"></param>  /// <param name="parameters"></param>  /// <returns></returns>  public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    SqlDataReader returnReader;    connection.Open();    SqlCommand command = BuildQueryCommand( connection,storedProcName, parameters );    command.CommandType = CommandType.StoredProcedure;    returnReader = command.ExecuteReader();    //Connection.Close();    return returnReader;   }  }  private static SqlCommand BuildQueryCommand(SqlConnection connection,string storedProcName, IDataParameter[] parameters)  {       SqlCommand command = new SqlCommand( storedProcName, connection );    command.CommandType = CommandType.StoredProcedure;    foreach (SqlParameter parameter in parameters)    {     command.Parameters.Add( parameter );    }    return command;     }    public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName )  {   using (SqlConnection connection = new SqlConnection(connectionString))   {    DataSet dataSet = new DataSet();    connection.Open();    SqlDataAdapter sqlDA = new SqlDataAdapter();    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters );    sqlDA.Fill( dataSet, tableName );    connection.Close();    return dataSet;   }  }  #endregion }}不太会用这里的编辑器
如果大家看着吃力可以到以下网址
http://www.soubook.com/viewthread.php?tid=1794&extra=
我的qq是9424106
回帖或者发给我qq都好

解决方案 »

  1.   

    从网上找到封装的ADO.NET对数据库操作经典类 
    但是具体不知道怎么用,谁能给我写个简单的用法啊
    假设我的数据库名字是testdb
    数据表user内含字段(userid,username,password,age,regtime)
    谁能给我个用户注册,登录,编辑信息,删除四个操作的具体页面代码啊
    配置连接
    <connectionStrings>
      <add name="pubsConnectionString" c
       providerName="System.Data.SqlClient" />
    </connectionStrings>
    userlogin.aspx 文件<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="userlogin.aspx.cs" Inherits="外贸销售系统.userlogin" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title></title></head><body>    <form id="form1" runat="server">    <div>            <asp:TextBox ID="txtusername" runat="server"></asp:TextBox>        <asp:TextBox ID="txtpassword" runat="server"></asp:TextBox>        <asp:Button ID="btnlogin" runat="server" Text="登录" />        </div>    </form></body></html>
    复制代码userlogin.aspx.cs原始代码,using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace 外贸销售系统{    public partial class userlogin : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {        }        protected void btnlogin_Click(object sender, EventArgs e)        {        }    }}
      

  2.   

    看看petshop或到51aspx.com里看看,调用都很详细
      

  3.   

    #region   存储过程操作 
    这句以前的都是执行SQL语句的,有一条的,多条的(可能代事务的),还有带参数的SQL语句
    下面都是执行存储过程
    这只是一个很简单的方法封装(这句,我也不知说的对不),我一般都这样用的传指定的参数就行了
    和最普通的ADO的用法是差不多的 
    里面也只有几个知识点,SQL语句,有参数的SQL语句,事务,存储过程 有的是查一条,有的是查数据集,有的增加
    下面是一个有参数的SQL语句的例子,这条语句也可以做成存储过程 string query = "Insert Into Dept_Manage (dept_name,dept_parentid) Values (@dept_name,@dept_parentid);";            
                string connect = "server=.;pwd=lyk;uid=sa;database=es";
                using (SqlConnection conn = new SqlConnection(connect))
                {
                    SqlCommand cmd = new SqlCommand(query, conn);                                 
                        SqlParameter[] para = new SqlParameter[]
                        {
                           new SqlParameter ("@dept_parentid",1),
                        new SqlParameter ("@dept_name","lyk")
                        };
                        cmd.Parameters.AddRange(para);
                        conn.Open();
                        cmd.ExecuteNonQuery();             
                  
                }
      

  4.   

    public   abstract   class   DbManagerSQL {     //数据库连接字符串     protected   static   string   connectionString   =   ConfigurationSettings.AppSettings[ "ConnectionString "];   
    //这里,你到你的web.config文件中配置好名为"ConnectionString“的AppSettings节点,也就是数据库链接字符串其它的方法,如
    ///   <summary>     ///   执行SQL语句,返回影响的记录数     ///   </summary>     ///   <param   name= "SQLString "> </param>     ///   <returns> </returns>     public   static   int   ExecuteSql(string   SQLString) 
    这种方法一你看好对方的解释,二要看对方要求传递的参数(包括类型和猜测它包括的内容是什么),三要看返回的数据类型
    //类是抽象的,不可实例化,方法是静态的,可以直接调用如
    int num=DbManagerSQL.ExecuteSql("SELECT COUNT(*) FROM YourTableName");