Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为ASP.NET网站创建DAL_Asp.net_Gridview_Data Access Layer - Fatal编程技术网

为ASP.NET网站创建DAL

为ASP.NET网站创建DAL,asp.net,gridview,data-access-layer,Asp.net,Gridview,Data Access Layer,我正在使用Microsoft Visual StudioDAL进行工作,在该程序中,我使用传统方法获取/更新数据,通过从网站数据库的ItemDetails表中检索数据来显示对网站所列项目的评论,以创建ItemDetails.aspx文件。我添加了一个DropDownList控件来显示其类别中的所有项目。 从下拉列表中选择类别时,它将显示该类别中的所有项目,并向其附加一个超链接“显示详细信息”,以在网格视图中显示详细信息。 我是新手,我不知道如何为asp.net网站创建DAL。需要简单的指南来创建

我正在使用Microsoft Visual Studio
DAL
进行工作,在该程序中,我使用传统方法获取/更新数据,通过从网站数据库的
ItemDetails
表中检索数据来显示对网站所列项目的评论,以创建
ItemDetails.aspx
文件。我添加了一个
DropDownList控件来显示其类别中的所有项目。
从下拉列表中选择类别时,它将显示该类别中的所有项目,并向其附加一个超链接“显示详细信息”
,以在网格视图中显示详细信息。
我是新手,我不知道如何为asp.net网站创建
DAL
。需要简单的指南来创建asp.net网站的DAL。我们将不胜感激。创建DAL的其他方法有哪些,而不是
SQLadapter

,例如,这里有一个我以前用于调用SPs的DAL

它允许您执行存储过程并返回数据集、数据表、成功响应等

实际上,这取决于您打算如何访问数据,您是在编写存储过程还是在代码中有查询。您还可以选择使用实体框架/LINQ

using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;

public class _DataInteraction
{

    #region "Stored Procedures"

    public static DataTable stdReturnDataTableQuery(string procedureName, string db)
    {
        DataTable myDataTable;

        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[db].ConnectionString);
        SqlCommand cmd = new SqlCommand();
        SqlDataAdapter myDataAdapter = new SqlDataAdapter();

        cmd.CommandText = procedureName;
        cmd.CommandType = CommandType.Text;
        cmd.Connection = myConnection;


        //-----------------------------------------------------------------------
        // make our datatable to return
        //-----------------------------------------------------------------------
        myDataTable = new DataTable();

        //-----------------------------------------------------------------------
        // fill the datatable with the stored procedure results
        //-----------------------------------------------------------------------
        try
        {
            myConnection.Open();
            myDataAdapter.SelectCommand = cmd;
            myDataAdapter.Fill(myDataTable);
        }
        catch (Exception ex)
        {
            //flag as error happened
            throw ex;
        }
        finally
        {
            myConnection.Close();
            if ((myDataAdapter != null))
                myDataAdapter.Dispose();
            if ((cmd != null))
                cmd.Dispose();
        }

        return myDataTable;
    }


    //   Return a datatable from the database
    public static DataTable stdReturnDataTable(string procedureName, List<SqlParameter> myParameters, string db)
    {
        SqlConnection myConnection = default(SqlConnection);
        SqlCommand myCommand = default(SqlCommand);
        SqlDataAdapter myDataAdapter = default(SqlDataAdapter);
        DataTable myDataTable = default(DataTable);
        string connString = null;

        //   -----------------------------------------------------------------------
        //   create instance of connection
        //   -----------------------------------------------------------------------
        connString = ConfigurationManager.ConnectionStrings[db].ConnectionString;
        myConnection = new SqlConnection();
        myConnection.ConnectionString = connString;

        //-----------------------------------------------------------------------
        //   create instance of command and dataadapter
        //-----------------------------------------------------------------------
        myCommand = new SqlCommand(procedureName, myConnection);
        myDataAdapter = new SqlDataAdapter(myCommand);

        //-----------------------------------------------------------------------
        //   say its a stored procedure command
        //-----------------------------------------------------------------------
        myCommand.CommandType = CommandType.StoredProcedure;

        //-----------------------------------------------------------------------
        //   add any parameters?
        //-----------------------------------------------------------------------
        if ((myParameters != null))
        {
            foreach (SqlParameter myParm in myParameters)
            {
                // add the parameter to the command
                myCommand.Parameters.Add(myParm);
            }
        }

        //-----------------------------------------------------------------------
        // make our datatable to return
        //-----------------------------------------------------------------------
        myDataTable = new DataTable();

        //-----------------------------------------------------------------------
        // fill the datatable with the stored procedure results
        //-----------------------------------------------------------------------
        try
        {
            myConnection.Open();
            myDataAdapter.Fill(myDataTable);
        }
        catch (Exception ex)
        {
            //flag as error happened
            throw ex;
        }
        finally
        {
            myConnection.Close();
            if ((myDataAdapter != null))
                myDataAdapter.Dispose();
            if ((myCommand != null))
                myCommand.Dispose();
        }

        return myDataTable;
    }

    //   Return a dataset from the database
    public static DataSet stdReturnDataset(string procedureName, List<SqlParameter> myParameters, string db)
    {
        SqlConnection myConnection = default(SqlConnection);
        SqlCommand myCommand = default(SqlCommand);
        SqlDataAdapter myDataAdapter = default(SqlDataAdapter);
        DataSet ds = new DataSet();
        string connString = null;

        //-----------------------------------------------------------------------
        //   create instance of connection
        //-----------------------------------------------------------------------
        connString = ConfigurationManager.ConnectionStrings[db].ConnectionString;
        myConnection = new SqlConnection();
        myConnection.ConnectionString = connString;

        //-----------------------------------------------------------------------
        //   create instance of command and dataadapter
        //-----------------------------------------------------------------------
        myCommand = new SqlCommand(procedureName, myConnection);
        myDataAdapter = new SqlDataAdapter(myCommand);

        //-----------------------------------------------------------------------
        //   say its a stored procedure command
        //-----------------------------------------------------------------------
        myCommand.CommandType = CommandType.StoredProcedure;

        //-----------------------------------------------------------------------
        //   add any parameters?
        //-----------------------------------------------------------------------
        if ((myParameters != null))
        {
            foreach (SqlParameter myParm in myParameters)
            {
                // add the parameter to the command
                myCommand.Parameters.Add(myParm);
            }
        }

        //-----------------------------------------------------------------------
        // fill the datatable with the stored procedure results
        //-----------------------------------------------------------------------
        try
        {
            myConnection.Open();
            myDataAdapter.Fill(ds);
        }
        catch (Exception ex)
        {
            //flag as error happened
            throw ex;
        }
        finally
        {
            myConnection.Close();
            if ((myDataAdapter != null))
                myDataAdapter.Dispose();
            if ((myCommand != null))
                myCommand.Dispose();
        }

        return ds;
    }

    //   Return success from a query from the database
    public static bool db_NonQuerySuccessResponse(string strCommandText, List<SqlParameter> myParameters, string db)
    {
        SqlConnection SQLConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[db].ConnectionString);
        SqlCommand SQLCommand = new SqlCommand();
        DataSet ds = new DataSet();
        string Value = "";
        bool success = false;

        try
        {
            SQLCommand.CommandText = strCommandText;
            SQLCommand.CommandType = CommandType.StoredProcedure;
            SQLCommand.Parameters.Clear();

            if ((myParameters != null))
            {
                foreach (SqlParameter myParm in myParameters)
                {
                    // add the parameter to the command
                    SQLCommand.Parameters.Add(myParm);
                }
            }

            SQLCommand.Connection = SQLConnection;
            SQLConnection.Open();
            SQLCommand.ExecuteNonQuery();
            SQLConnection.Close();

            success = true;

        }
        catch (Exception ex)
        {
            success = false;
            return success;
        }

        return success;

    }

    //   General non query, no results no success
    public static bool db_NonQuery(string strCommandText, List<SqlParameter> myParameters, string db)
    {


        SqlConnection SQLConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[db].ConnectionString);
        SqlCommand SQLCommand = new SqlCommand();
        DataSet ds = new DataSet();

        try
        {
            SQLCommand.CommandText = strCommandText;
            SQLCommand.CommandType = CommandType.StoredProcedure;
            SQLCommand.Parameters.Clear();

            if ((myParameters != null))
            {
                foreach (SqlParameter myParm in myParameters)
                {
                    // add the parameter to the command
                    SQLCommand.Parameters.Add(myParm);
                }
            }

            SQLCommand.Connection = SQLConnection;
            SQLConnection.Open();
            SQLCommand.ExecuteNonQuery();
            SQLConnection.Close();

        }
        catch (Exception ex)
        {
            return false;
        }

        return true;

    }

    ////   Execute scalar on db
    //public static string db_Scalar(string strCommandText, ref List<SqlParameter> myParameters, string db)
    //{

    //    SqlConnection SQLConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[db].ConnectionString);
    //    SqlCommand SQLCommand = new SqlCommand();
    //    string Value = "";

    //    SQLCommand.CommandText = strCommandText;
    //    SQLCommand.CommandType = CommandType.StoredProcedure;
    //    SQLCommand.Parameters.Clear();


    //    if ((myParameters != null))
    //    {
    //        foreach (SqlParameter myParm in myParameters)
    //        {
    //            // add the parameter to the command
    //            SQLCommand.Parameters.Add(myParm);
    //        }
    //    }

    //    SQLCommand.Connection = SQLConnection;
    //    SQLConnection.Open();
    //    Value = SQLCommand.ExecuteScalar;
    //    SQLConnection.Close();
    //    return Value;
    //}

    #endregion
}
使用系统;
使用System.Collections.Generic;
使用System.Web;
使用系统数据;
使用System.Data.Sql;
使用System.Data.SqlClient;
使用系统配置;
公共类\u数据交互
{
#区域“存储过程”
公共静态数据表stdReturnDataTableQuery(stringprocedurename,stringdb)
{
数据表myDataTable;
SqlConnection myConnection=新的SqlConnection(ConfigurationManager.ConnectionString[db].ConnectionString);
SqlCommand cmd=新的SqlCommand();
SqlDataAdapter myDataAdapter=新的SqlDataAdapter();
cmd.CommandText=procedureName;
cmd.CommandType=CommandType.Text;
cmd.Connection=myConnection;
//-----------------------------------------------------------------------
//使我们的数据表返回
//-----------------------------------------------------------------------
myDataTable=新数据表();
//-----------------------------------------------------------------------
//用存储过程结果填充数据表
//-----------------------------------------------------------------------
尝试
{
myConnection.Open();
myDataAdapter.SelectCommand=cmd;
填充(myDataTable);
}
捕获(例外情况除外)
{
//标记为发生错误
掷骰子;
}
最后
{
myConnection.Close();
如果((myDataAdapter!=null))
myDataAdapter.Dispose();
如果((cmd!=null))
cmd.Dispose();
}
返回myDataTable;
}
//从数据库返回数据表
公共静态数据表stdReturnDataTable(字符串过程重命名,列表myParameters,字符串db)
{
SqlConnection myConnection=default(SqlConnection);
SqlCommand myCommand=default(SqlCommand);
SqlDataAdapter myDataAdapter=默认值(SqlDataAdapter);
DataTable myDataTable=默认值(DataTable);
字符串connString=null;
//   -----------------------------------------------------------------------
//创建连接的实例
//   -----------------------------------------------------------------------
connString=ConfigurationManager.ConnectionString[db].ConnectionString;
myConnection=newsqlconnection();
myConnection.ConnectionString=connString;
//-----------------------------------------------------------------------
//创建命令和数据适配器的实例
//-----------------------------------------------------------------------
myCommand=newsqlcommand(procedureName,myConnection);
myDataAdapter=新的SqlDataAdapter(myCommand);
//-----------------------------------------------------------------------
//假设这是一个存储过程命令
//-----------------------------------------------------------------------
myCommand.CommandType=CommandType.StoredProcess;
//-----------------------------------------------------------------------
//添加任何参数?
//-----------------------------------------------------------------------
如果((myParameters!=null))
{
foreach(myParameters中的SqlParameter myParm)
{
//将参数添加到命令中
myCommand.Parameters.Add(myParm);
}
}
//-----------------------------------------------------------------------
//使我们的数据表返回
//-----------------------------------------------------------------------
myDataTable=新数据表();
//-----------------------------------------------------------------------
//用存储过程结果填充数据表
//-----------------------------------------------------------------------
尝试
{
myConnection.Open();
填充(myDataTable);
}
捕获(例外情况除外)
{
//标记为发生错误
掷骰子;
}
最后
{
myConnection.Close();
如果((myDataAdapter!=null))
myDataAdapter.Dispose();
if((myCommand!=null))
myCommand.Dispose();
}
返回myDataTable;
}
//从数据库返回数据集
公共静态数据集stdReturnDataset(字符串过程重命名、列表myParameters、字符串数据库)
{
SqlConnection myConnection=default(SqlConnection);
SqlCommand myCommand=default(SqlCommand)
        public List<T> GetRequests(string strNo)
    {
        List<T> objlstMapping = null;
        Mapping objMapping = null;
        try
        {
            Database objDbInstance = CreateSQLDatabase(DbConnection.MF);

            using (DbCommand objDbCommand = objDbInstance.GetStoredProcCommand(Constants.SP_QUESTS))
            {
                DALBase.AddDbParam(objDbInstance, objDbCommand, "@No", DbType.AnsiString, ParameterDirection.Input, strFolioNo);

                objDbCommand.Connection = objDbInstance.CreateConnection();
                objDbCommand.Connection.Open();
                using (DbDataReader dr = objDbCommand.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    objMapping = new List<T>();
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            objMapping = new BrokerFolioMapping();
                            objMapping .Brok_Code = SProposedValue(dr, "Code");
                            objMapping .Active = SProposedValue(dr, "Status");
                            objMapping .AccStmt_Active = SProposedValue(dr, "PortfolioStatus");

                            objlstFolioMapping.Add(objMapping );
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
                        }
        return objlstFolioMapping;
    }