ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

C#(ASP.NET) DataList数据库数据绑定

2019-03-11 12:42:59  阅读:225  来源: 互联网

标签:ASP C# db DataList Connection command new Open public


DataList数据绑定 1.连接数据库 (1)创建连接字符串 (2)创建连接对象 2.获取存储过程 (1)创建存储过程 (2)获取存储过程 3.获取数据表 (1)创建SqlDataAdapter对象 (2)填充SqlDataAdapter对象 (3)返回DataTable对象 4.数据绑定 (1)设置DataList.DataSource属性 (2)编写前端DataList控件及子控件 (3)给子控件赋值 <%# Eval("数据列名称")%>   //Web.Config文件配置   <configuration>
  <appSettings>
    <add key="connectionString" value="server=WIN-V30CUN3PJB1\SQLEXPRESS; database=yanirui; user=sa; pwd=FRP+757721728;"/>
  </appSettings>   //数据库连接对象类源码     public class Database
    {
        /// <summary>
        /// 连接数据库
        /// </summary>
        /// <returns>连接对象</returns>
        public SqlConnection GetConnection()
        {
            return new SqlConnection(ConfigurationManager.AppSettings["connectionString"]);
        }

        /// <summary>
        /// 执行管理命令
        /// </summary>
        /// <param name="command">命令对象</param>
        public void ExecuteNonQuery(SqlCommand command)
        {
            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }
                command.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                if (command.Connection.State == ConnectionState.Open)
                {
                    command.Connection.Close();
                }
            }
        }

        /// <summary>
        /// 执行单行单列查询命令
        /// </summary>
        /// <param name="command">命令对象</param>
        /// <returns>单行单列查询结果</returns>
        public string ExecuteScalar(SqlCommand command)
        {
            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }
                return command.ExecuteScalar().ToString();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                if (command.Connection.State == ConnectionState.Open)
                {
                    command.Connection.Close();
                }
            }
        }

        /// <summary>
        /// 执行单行查询命令
        /// </summary>
        /// <param name="command">命令对象</param>
        /// <returns>单行查询结果</returns>
        public SqlDataReader ExecuteReader(SqlCommand command)
        {
            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }
                return command.ExecuteReader();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                if (command.Connection.State == ConnectionState.Open)
                {
                    command.Connection.Close();
                }
            }
        }

        /// <summary>
        /// 查询表
        /// </summary>
        /// <param name="command">命令</param>
        /// <param name="tableName">表名称</param>
        /// <returns>表</returns>
        public DataTable GetTable(SqlCommand command, string tableName)
        {
            try
            {
                if (command.Connection == null)
                {
                    command.Connection = GetConnection();
                }
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }
                DataTable dt = new DataTable();
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(dt);
                return dt;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }

        /// <summary>
        /// 查询存储过程
        /// </summary>
        /// <param name="procName">存储过程名称</param>
        /// <returns>命令</returns>
        public SqlCommand GetCommand(string procName)
        {
            using (SqlConnection connection = GetConnection())
            {
                using (SqlCommand command = new SqlCommand())
                {
                    connection.Open();
                    command.CommandText = procName;
                    command.CommandType = CommandType.StoredProcedure;
                    return command;
                }
            }
        }
    }   //数据管理类 public class ProductManager
    {
        Database db = new Database();

        /// <summary>
        /// 获取产品信息列表
        /// </summary>
        /// <returns></returns>
        public DataTable GetProductInfoList()
        {
            return db.GetTable(db.GetCommand("proc_GetProductInfoList"),
                "ProductInfoTable");
            //DataList dl = new DataList();
            //dl.DataSource = dt;
            //dl.DataKeyField = dt.Columns[0].ToString();
            //dl.DataBind();
        }

        /// <summary>
        /// 获取产品信息
        /// </summary>
        /// <returns></returns>
        public object GetProductInfo(int productId)
        {
            SqlDataReader reader = db.ExecuteReader(db.GetCommand("proc_GetProductInfo"));
            if (reader.Read())
            {
                return reader.GetValue(productId);
            }
            return null;
        }

        /// <summary>
        /// 添加产品信息
        /// </summary>
        public void AddProductInfo()
        {
            db.ExecuteNonQuery(db.GetCommand("proc_AddProductInfo"));
        }

        /// <summary>
        /// 更新产品信息列表
        /// </summary>
        public void UpdateProductInfoList()
        {
            db.ExecuteNonQuery(db.GetCommand("proc_UpdateProductInfoList"));
        }

        /// <summary>
        /// 编辑产品信息
        /// </summary>
        public void EditProductInfo()
        {
            db.ExecuteNonQuery(db.GetCommand("proc_EditProductInfo"));
        }

        /// <summary>
        /// 删除产品信息
        /// </summary>
        public void DeleteProductInfo()
        {
            db.ExecuteNonQuery(db.GetCommand("proc_DeleteProductInfo"));
        }

        /// <summary>
        /// 清空产品信息列表
        /// </summary>
        public void ClearProductInfoList()
        {
            db.ExecuteNonQuery(db.GetCommand("proc_ClearProductInfoList"));
        }
    }   //调用数据绑定 public partial class productlist : System.Web.UI.Page
    {
        public ProductManager pm;

        protected void Page_Load(object sender, EventArgs e)
        {
            pm = new ProductManager();
            DataTable dt = pm.GetProductInfoList();
            productDataList.DataSource = dt;
            productDataList.DataKeyField = dt.Columns[0].ToString();
            productDataList.DataBind();
        }
    }   <!--数据显示-->     <div class="productbox">
        <asp:DataList ID="productDataList" runat="server" Width="500"
            BorderColor="Red" BorderWidth="1" Height="500" DataSourceID="" DataKeyField="productId">
            <HeaderTemplate>
                <ul>
                    <li>产品名称</li>
                    <li>产品图片</li>
                    <li>产品价格</li>
                </ul>
            </HeaderTemplate>
            <ItemTemplate>
                <table>
                    <tr>
                        <td style="border:1px inset red; width:50px; height:50px;">
                            产品名称:<%# Eval("productName") %>
                            产品图片:<img src="<%# Eval("productImgPath") %>" />
                            产品价格:<%# Eval("productPrice") %>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
            <EditItemTemplate>
                <table>
                    <tr>
                        <td style="border:1px inset red; width:50px; height:50px;">
                            产品名称:<%# Eval("productName") %>
                            产品图片:<img src="<%# Eval("productImgPath") %>" />
                            产品价格:<%# Eval("productPrice") %>
                        </td>
                    </tr>
                </table>
            </EditItemTemplate>
        </asp:DataList>
    </div>

标签:ASP,C#,db,DataList,Connection,command,new,Open,public
来源: https://www.cnblogs.com/furuipeng/p/10509859.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有