• PetaPoco.cs的基本用法


    1、首先定义一个NewsInfoss类,此类中封装了我的数据库表中的所有字段

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using PetaPoco;
    /// <summary>
    ///NewsInfoss 的摘要说明
    /// </summary>
    public class NewsInfoss
    {
     public NewsInfoss()
     {
      //
      //TODO: 在此处添加构造函数逻辑
      //

     }

        public int NewsID { get; set; }

        public string NewsTitle { get; set; }

        public string NewsContent { get; set; }

        public DateTime NewsDate { get; set; }

      
    }

    2、自己封装一个sqlhelper

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    ///Newssql 的摘要说明
    /// </summary>
    public class Newssql
    {
     public Newssql()
     {
      //
      //TODO: 在此处添加构造函数逻辑
      //
     }

        PetaPoco.Database db = new PetaPoco.Database("ConnStr");

        /// <summary>
        /// 查询表中的所有数据
        /// </summary>
        /// <returns></returns>
        public List<NewsInfoss> aaa()
        {
            string sql = "select * from NewsInfo";
            var db = new PetaPoco.Database("ConnStr");
            return db.Fetch<NewsInfoss>(sql);
        }

        /// <summary>
        /// 根据新闻ID获取相应的一条新闻
        /// </summary>
        /// <param name="NewsID"></param>
        /// <returns></returns>
        public List<NewsInfoss> aaa(string NewsID)
        {
            string sql = "select NewsTitle,NewsContent,CONVERT(char(10), NewsDate,120) as NewsDate from NewsInfo where NewsID=" + NewsID;
            var db = new PetaPoco.Database("ConnStr");
            return db.Fetch<NewsInfoss>(sql);
        }

        /// <summary>
        /// 根据ID获取相应的数据
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public NewsInfoss getNewsByID(int ID)
        {
            return db.SingleOrDefault<NewsInfoss>("select NewsTitle,NewsContent,CONVERT(char(10), NewsDate,120) as NewsDate from NewsInfo where NewsID = @0 ", ID);
        }

        /// <summary>
        /// 根据新闻ID查询出我需要更新的一条数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public NewsInfoss Update(string id)
        {
            return db.SingleOrDefault<NewsInfoss>("select * from NewsInfo where NewsID=@0", id);
        }
    }

    3、添加一个展示新闻的页面Edit.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Edit.aspx.cs" Inherits="Edit" %>

    <!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:GridView ID="MyGrid" runat="server" AutoGenerateColumns="False"
                DataKeyNames="NewsID" onrowdeleting="MyGrid_RowDeleting" >
                <Columns>
                    <asp:BoundField DataField="NewsID" HeaderText="新闻编号" />
                    <asp:BoundField DataField="NewsTitle" HeaderText="新闻标题" />
                    <asp:BoundField DataField="NewsContent" HeaderText="新闻内容" />
                    <asp:BoundField DataField="NewsDate" HeaderText="发布时间" />
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="linkID" runat="server"
                                CommandArgument='<%#Eval("NewsID") %>'
                                onclick="linkID_Click" ToolTip='<%# Eval("NewsID") %>'
                               >修改</asp:LinkButton>
                                <asp:LinkButton ID="lkDele" runat="server" CausesValidation="False" CommandName="Delete"
                                    Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>
    </html>

    CS代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;

    public partial class Edit : System.Web.UI.Page
    {
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBindMyGrid();
            }
        }


        protected void linkID_Click(object sender, EventArgs e)
        {
            LinkButton btn = sender as LinkButton;
            string id= btn.ToolTip.ToString();
            Response.Redirect("AddNews.aspx?NewsID="+id);
        }


        public void DataBindMyGrid()
        {
            MyGrid.DataSource = NewsHelp.DataBindGrid();
            MyGrid.DataBind();
        }

        protected void MyGrid_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string id = MyGrid.DataKeys[e.RowIndex].Values[0].ToString();
            int i = NewsHelp.DeleteGrid(id);
            if (i>0)
            {
                Response.Write("<script>alert('删除成功!!!!')</script>");
            }
            DataBindMyGrid();
        }
    }

    4、创建一个添加和编辑新闻的页面Ceshi.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ceshi.aspx.cs" Inherits="ceshi" %>

    <!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>
        <style type="text/css">

            .style1
            {
                300px;
                border-collapse: collapse;
                border-style: solid;
                border- 1px;
            }
        </style>
        <script src="Scripts/Calendar4.js" type="text/javascript"></script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
            <table border="1" class="style1">
                <tr>
                    <td>
                        新闻标题:</td>
                    <td>
                        <asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        新闻内容:</td>
                    <td>
                        <asp:TextBox ID="txtContent" runat="server"></asp:TextBox>
                  
                    </td>
                </tr>
               <tr>
                    <td>
                        发布时间:</td>
                    <td>
                        <asp:TextBox ID="txtDate" runat="server" onclick="MyCalendar.SetDate(this)"></asp:TextBox>
                  
                    </td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align: center">
                        <asp:Button ID="Button1" runat="server" Text="保存" onclick="Button1_Click" />
                    </td>
                </tr>
            </table>
       
        </div>
        </form>
    </body>
    </html>

    CS代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using PetaPoco;

    public partial class ceshi : System.Web.UI.Page
    {
        string NewsID = "";
        Newssql sql = new Newssql();
        PetaPoco.Database db = new PetaPoco.Database("ConnStr");
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request["NewsID"] != null && Request["NewsID"].ToString().Trim() != "")
                {
                    NewsID = Request["NewsID"].ToString();
                    dataNewsInfo(Convert.ToInt32(NewsID));
                }
            }
        }
        /// <summary>
        /// 点击添加或者是更新的按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            if ( Request["NewsID"] != null && Request["NewsID"].ToString().Trim()!= "")
            {
                Update();
                Response.Redirect("NewsInfoEdit.aspx");
            }
            else
            {

                AddNewsInfo();
            }
        }
        /// <summary>
        /// 添加新闻方法
        /// </summary>
        private void AddNewsInfo()
        {
            var a = new NewsInfoss();
            a.NewsTitle = txtTitle.Text.Trim();
            a.NewsContent = txtContent.Text.Trim();
            a.NewsDate = Convert.ToDateTime(txtDate.Text.Trim());
            db.Insert("NewsInfo", "NewsID", true, a);
            Response.Redirect("NewsInfoEdit.aspx");
        }
        /// <summary>
        /// 更新新闻的方法
        /// </summary>
        void Update()
        {
         
            string sqlid=Request["NewsID"].ToString();
            NewsInfoss up = sql.Update(sqlid);
           up.NewsTitle = txtTitle.Text.Trim();
           up.NewsContent = txtContent.Text.Trim();
           up.NewsDate =Convert.ToDateTime(txtDate.Text.Trim());
           db.Update("NewsInfo", "NewsID", up, sqlid);
        }

        /// <summary>
        /// 根据新闻ID,获取到相应的新闻
        /// </summary>
        /// <param name="id"></param>
        void dataNewsInfo(int id)
        {
            NewsInfoss a = new NewsInfoss();
            a = sql.getNewsByID(id);
            txtTitle.Text = a.NewsTitle;
            txtContent.Text = a.NewsContent;
            txtDate.Text = a.NewsDate.ToString("yyyy-MM-dd").ToString() ;
        }
    }

  • 相关阅读:
    百度地图开发 InfoBox 弹出消息框使用详解!某物流网应用
    百度地图api画圆 标注 搜索周边功能
    有用的linux操作命令
    php后台守护进程 sh脚本 三个文件 让您的后台php永不止步
    CLR via C# 第二章 (1)
    CLR via C# 第一章 (2)
    CLR via C# 第一章(3)
    ios 画图总结
    简析 iOS 程序图标的设计
    10个必需的iOS开发工具和资源 http://coolshell.cn/articles/5089.html
  • 原文地址:https://www.cnblogs.com/zhisong/p/PetaPoco.html
Copyright © 2020-2023  润新知