你要思路还是代码?
思路是这样的:将访问数据库连接写成一个方法,所有人调用这个方法就可以返回一个connection,这样的好处可以共用一个连接池

解决方案 »

  1.   

    比如在a项目中建立一个Class_MYClass的类文件,使用Web.config中的字符连接串数据库
    在其它页面中调用:a.Class_MYClass.Connection
    Imports System.Data
    Imports System.Data.SqlClient
    Public Class Class_MYClass
     Public Shared Function Connection()
            myConnection = New SqlConnection(ConfigurationSettings.AppSettings("SQLConnectionString"))
        End Function
    End Class
      

  2.   

    public class Dutp
    {
    private int M_duty_id;
    private string M_duty_name;


    public Dutp()
    {
    // 
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public int Duty_ID
    {
    get
    {
    return M_duty_id;
    }
    set
    {
    M_duty_id = value;
    }
    } public string Duty_Name
    {
    get
    {
    return M_duty_name;
    }
    set
    {
    M_duty_name = value;
    }
    }


    public void Select(int duty_id)
    {
    //读取数据
    SqlConnection myConn=new SqlConnection(ConfigurationSettings.AppSettings ["dbdate"]);
    string SQL="SELECT duty_id,duty_name)"+
    "FROM duty_id WHERE duty_id ="+ duty_id;
    SqlCommand sqlCommand = new SqlCommand(SQL,myConn);

    sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@duty_id", System.Data.SqlDbType.Int, 4, "duty_id"));
    sqlCommand.Parameters["@duty_id"].Value=duty_id;
    try

    myConn.Open() ;
    SqlDataReader myReader ;
    myReader = sqlCommand.ExecuteReader();
    if (myReader.Read())
    {
    M_duty_id  = (int)myReader["duty_id"] ;
    M_duty_name  = (string)myReader["duty_name"] ;

    } //清场
    myReader.Close();
    myConn.Close() ;
    }
    catch(Exception e)
    {
    throw(new Exception("读取数据失败:" + e.ToString())) ;
    }
    }




    public void Insert()
    {
    //增加数据
    SqlConnection myConn=new SqlConnection(ConfigurationSettings.AppSettings ["dbdate"]);
    string SQL ="INSERT INTO duty(duty_name)"+
    "VALUES (@duty_name)";
    SqlCommand sqlCommand = new SqlCommand(SQL,myConn);

    //sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Client_ID", System.Data.SqlDbType.Int, 4, "Client_ID"));
    sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@duty_name", System.Data.SqlDbType.NVarChar, 50, "duty_name"));

    //sqlCommand.Parameters["@Client_ID"].Value=Client_ID;
    sqlCommand.Parameters["@duty_name"].Value =M_duty_name;


    try
    {  myConn.Open() ;
    sqlCommand.ExecuteNonQuery(); 
    myConn.Close() ; }
    catch(Exception e)
    {
    throw(new Exception("增加数据失败:" + e.ToString())) ;
    }
    }



    public void Update(int duty_id)
    {
    //修改数据
    SqlConnection myConn=new SqlConnection(ConfigurationSettings.AppSettings ["dbdate"]);
    string SQL ="UPDATE duty SET duty_name = @duty_name FROM duty WHERE (duty_id = @duty_id)";
    SqlCommand sqlCommand = new SqlCommand(SQL,myConn);

    sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@duty_id", System.Data.SqlDbType.Int, 4, "duty_id"));
    sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@duty_name", System.Data.SqlDbType.NVarChar, 50, "duty_name"));

    sqlCommand.Parameters["@duty_id"].Value=M_duty_id;
    sqlCommand.Parameters["@duty_name"].Value =M_duty_name;


    try
    {  myConn.Open() ;
    sqlCommand.ExecuteNonQuery(); 
    myConn.Close() ; }
    catch(Exception e)
    {
    throw(new Exception("修改数据失败:" + e.ToString())) ;
    }
    }
    public void Delect(int duty_id)
    {
    //删除数据
    SqlConnection myConn=new SqlConnection(ConfigurationSettings.AppSettings ["dbdate"]);
    string SQL ="DELETE FROM duty WHERE (duty_id = @duty_id)";
    SqlCommand sqlCommand = new SqlCommand(SQL,myConn);

    sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@duty_id", System.Data.SqlDbType.Int, 4, "duty_id"));
    sqlCommand.Parameters["@duty_id"].Value=duty_id;
    try
    {  myConn.Open() ;
    sqlCommand.ExecuteNonQuery(); 
    myConn.Close() ; }
    catch(Exception e)
    {
    throw(new Exception("删除数据失败:" + e.ToString())) ;
    } } }
      

  3.   

    推荐sqlhelper类库!如果需要,msn我! [email protected]给分哦,还差9分就4个三角了 :)
      

  4.   

    参考一下快速入门的两层结构:
    http://chs.gotdotnet.com/quickstart/aspplus/default.aspx中的 "简单的两层 Web 窗体页"的一节
      

  5.   

    你是想得到什么效果?降低偶合度?还是在aspx里连SQL都不写,直接得到数据?
    前者的话,用数据访问层吧,后者的话,还得根据不同的业务,写不同的逻辑层,找点N层结构的资料看看,应该对你有帮助:)