Mar 12

Linq 学习笔记(二) 不指定

lee , 17:42 , 开发相关 » C#┋Vb.Net , 评论(3) , 引用(0) , 阅读(839) , From 本站原创 | |
主要是练习Linq的插入,更新和删除操作.首先建一个Linq To Sql Class,并讲测试数据库的Post和Commnet两张表拖入,下面用代码说话
<script type="text/javascript" language="javascript">
function rowclick(i)
{
    var t = $('grdPostInfo');
    var r = t.rows[i+1];
    $('txtUID2').innerText = r.cells[0].innerText;
    $('txtPID2').innerText = r.cells[1].innerText;
    $('txtContent2').innerText = r.cells[2].innerText;  
}
</script>

<asp:GridView ID="grdPostInfo" runat="server" AutoGenerateColumns="false" onrowdatabound="RowDataBound">
<Columns>
<asp:BoundField HeaderText="UID" DataField="uid" />
<asp:BoundField HeaderText="PID" DataField="pid" />
<asp:BoundField HeaderText="Content" DataField="p_content" />
</Columns>
</asp:GridView>
UID:<asp:TextBox ID="txtUID" runat="server" Width="32px"></asp:TextBox>
PID:<asp:TextBox ID="txtPID" runat="server" Width="39px"></asp:TextBox>
CONNTEXT:<asp:TextBox ID="txtContent" runat="server" Width="118px"></asp:TextBox>
<asp:Button ID="btnAdd" runat="server" onclick="btnAdd_Click" Text="追加" />
<br />
UID:<asp:TextBox ID="txtUID2" runat="server" Width="32px"></asp:TextBox>
PID:<asp:TextBox ID="txtPID2" runat="server" Width="39px"></asp:TextBox>
CONNTEXT:<asp:TextBox ID="txtContent2" runat="server" Width="118px"></asp:TextBox>
<asp:Button ID="btnUpdate" runat="server" Text="更新" onclick="btnUpdate_Click" />
<asp:Button ID="btnDelete" runat="server" Text="削除" onclick="btnDelete_Click"  />

protected void Page_Load(object sender, EventArgs e)
{
    bindGrid();
}
//为GridView绑定数据
void bindGrid()
{
    LinqTestDC dc = new LinqTestDC();
    this.grdPostInfo.DataSource = dc.Post;
    this.grdPostInfo.DataBind();
}
//新增一条数据
protected void btnAdd_Click(object sender, EventArgs e)
{
    LinqTestDC dc = new LinqTestDC();
    Post PostInfo = new Post();
    PostInfo.pid = Convert.ToInt32(txtPID.Text);
    PostInfo.uid = Convert.ToInt32(txtUID.Text);
    PostInfo.p_content = txtContent.Text;
    dc.Post.Add(PostInfo);
    dc.SubmitChanges();
    bindGrid();
}
//GridView绑定事件
protected void RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Attributes.Add("onclick","return rowclick(" + e.Row.DataItemIndex + ");");
}
//更新
protected void btnUpdate_Click(object sender, EventArgs e)
{
    LinqTestDC dc = new LinqTestDC();
    Post PostInfo = dc.Post.Single(p=>p.pid == Convert.ToInt32(txtPID2.Text));
    PostInfo.p_content = txtContent2.Text;
    dc.SubmitChanges();
    bindGrid();
}
//删除一条数据(全删除用RemoveAll)
protected void btnDelete_Click(object sender, EventArgs e)
{
    LinqTestDC dc = new LinqTestDC();
    Post PostInfo = dc.Post.Single(p => p.pid == Convert.ToInt32(txtPID2.Text));//Lambda表达式p => p....
    dc.Post.Remove(PostInfo);
    dc.SubmitChanges();
    bindGrid();
}
Tags:
xiaogang Email
2008/03/17 15:18
我是小刚,
呵呵!
第一次听说linq,看不懂!bad
lee 回复于 2008/03/17 16:47
我真是服了你了,这也发AD,还好我屏蔽了
卡喀 Homepage
2008/03/13 22:36
这是从入门开始讲吧!
明天给你拉一大把学生过来哦!!pigpig
lee 回复于 2008/03/14 08:46
呵呵,是linq入门,但是要.net基础哦
yeyo
2008/03/13 16:26
你太有才了pig
lee 回复于 2008/03/13 16:51
呵呵,都是基本入门的东西哦.术业有专攻,你玩的东西我也不会
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]