您的位置:首页 > 其它

PetaPoco.cs的基本用法

2012-09-11 16:40 253 查看
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
{
width: 300px;
border-collapse: collapse;
border-style: solid;
border-width: 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() ;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: