zoukankan      html  css  js  c++  java
  • Linq to sql(五):存储过程(四)

    使用存储过程新增数据

           存储过程除了可以直接调用之外,还可以用于实体的增删改操作。

    还记得在《一步一步学Linq to sql(三):增删改》中创建的留言簿程序吗?

    下面我们就来改造这个程序,使用存储过程而不是系统生成的SQL实现实体增删改。

    首先,我们创建下面的存储过程

    create proc sendmessage

    @username varchar(50),

    @message varchar(500)

    as

    insert into tbguestbook

    (id,username,posttime,[message],isreplied,reply)

    values

    (newid(),@username,getdate(),@message,0,'')

           然后,打开留言簿dbml,把存储过程从服务器资源管理器拖拽到设计视图上。

    右键点击tbGuestBook实体类,选择配置行为。如下图,为插入操作选择刚才创建的存储过程方法,

    并进行参数匹配:


           由于我们的存储过程只接受2个参数,相应修改以下创建留言的按钮处理事件:

        protected void btn_SendMessage_Click(object sender, EventArgs e)

        {

            tbGuestBook gb = new tbGuestBook();

            gb.UserName = tb_UserName.Text;

            gb.Message = tb_Message.Text;

            ctx.tbGuestBooks.Add(gb);

            ctx.SubmitChanges();

            SetBind();

        }

           运行程序后可以发现,在提交修改的时候调用了下面的SQL

    EXEC @RETURN_VALUE = [dbo].[sendmessage] @username = @p0, @message = @p1

    -- @p0: Input AnsiString (Size = 5; Prec = 0; Scale = 0) [zhuye]

    -- @p1: Input AnsiString (Size = 11; Prec = 0; Scale = 0) [new message]

    -- @RETURN_VALUE: Output Int32 (Size = 0; Prec = 0; Scale = 0) []

  • 相关阅读:
    VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)
    算法_栈的Java的通用数组实现
    算法_计算输入的算术表达式的值.
    设计模式整理_组合模式
    JavaSE复习_9 集合框架复习
    一个小题目的三种不同的解法
    设计模式整理_状态模式
    设计模式整理_迭代器模式
    设计模式整理_模板模式
    JavaSE复习_8 泛型程序设计
  • 原文地址:https://www.cnblogs.com/kevin2013/p/1749077.html
Copyright © 2011-2022 走看看