初学LINQ增删改查(一)

1、新建一个网站或者项目

2、添加新项----LINQ to SQL类,文字名称为DataClasses.dbml,如图所示:初学LINQ增删改查(一)

3、打开DataClasses.dbml文件,在服务器资源管理器中连接数据库,把要用到的表拖拽到DataClasses.dbml上,如图所示:初学LINQ增删改查(一)保存关闭DataClasses.dbml文件,在webConfig文件中会自动生成与数据库的链接:

<connectionStrings>
  <add name="OQSS35ConnectionString" connectionString="Data Source=.;Initial Catalog=OQSS35;Integrated Security=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

4、添加一个类似SqlHelper的类文件LinqHelper.cs

LinqHelper.cs文件中的代码为:

public static DataClassesDataContext create()

{

   return new DataClassesDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["OQSS35ConnectionString"].ToString());

}

5、新建一个index.aspx页面,在index.aspx页面放一个GridView控件,在GridView控件上绑定字段。页面代码如图所示:初学LINQ增删改查(一)

6、在index.aspx.cs文件中写代码绑定表中的所有的数据:代码如下

DataClassesDataContext dc=LinqHelper.Create();

//绑定数据

public void BindData()

{

  this.GridView1.DataSource=from c in dc.User

                            select new

                            {

                                  c.username,

                                  c.password,

                                  c.GID,

                                  c.UID

                             };//User为表名

 this.GridView1.DataBind();

}

7、添加数据

protected void btnAdd_Click(object sender,EventArgs e)

{

   User user=new User();//实例化表User

   user.username=this.txtusername.Text.Trim().ToString();//用户名

   user.password=this.txtpassword.Text.Trim().ToString();//密码

   user.GID=Convert.ToInt32(this.txtGID.text.Trim().ToString());//GID

   dc.User.InsertOnSubmit(user);//把新增的数据放到dc中

   dc.SubmitChanges();//把新增的数据存到数据库中

   this.BindData();

}

8、修改、删除操作

给GridView添加一列

 <ItemTemplate>
                <a href="update.aspx?UID=<%=eval_r("UID") %>">编辑</a>
                <a href="update.aspx?UID=<%=eval_r("UID") %>&&flag=del">删除</a>
                </ItemTemplate>
                </asp:TemplateField>

再新建一个页面update.aspx,在update.aspx中进行修改删除操作

update.aspx 页面代码如下:

 用户名:<asp:TextBox ID="txtusername" runat="server"></asp:TextBox><br />
    密码:<asp:TextBox ID="txtpassword" runat="server"></asp:TextBox><br />
    GID:<asp:TextBox ID="txtGID" runat="server"></asp:TextBox><br />
        <asp:Button ID="btnAdd" runat="server" Text="修改" onclick="btnAdd_Click" />

public void BindData()

{

  //显示数据

  if(Request.QueryString["UID"]!=null)

  {

     DataClassesDataContext dc=LinqHelper.create();

    int UID=Convert.ToInt32(Request.QueryString["UID"].ToString());

    var user=dc.User.where(a=>a.UID==UID).Single();//查询数据

    this.txtusername.Text=user.username;//用户名

    this.txtpassword.Text=user.password;//密码

    this.txtGID.Text=user.GID.ToString();//GID

   }

  //删除数据

  if(Request.QueryString["Flag"]!=null)

  {

     DataClassesDataContext dc=LinqHelper.create();

     int UID=Convert.ToInt32(Request.QueryString["UID"].ToString());

     var user=dc.User.where(a=>a.UID==UID).Single();//查询

     dc.User.DeleteOnSubmit(user);//删除dc上的数据

     dc.SubmitChanges();//删除数据库里的记录

     Response.Redirect("index.aspx");

  }

}

//修改

 protected void btnUpdate_Click(object sender, EventArgs e)

{

  DataClassesDataContext dc=LinqHelper.create();

  int UID=Convert.ToInt32(Request.QueryString["UID"].ToString());

  var user=dc.User.where(a=>a.UID==UID).Single();//查询

  user.username=this.txtusername.Text.Trim().ToString();//用户名

  user.password=this.txtpassword.Text.Trim().ToString();//密码

  user.GID=Convert.ToInt32(this.txtGID.Text.ToString());//GID

 dc.SubmitChanges();//修改数据库中的记录

 Response.Redirect("index.aspx");

}

9、查询

在index.aspx页面中添加<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="btnSelect" runat="server" Text="查询" onclick="btnSelect_Click" />

后台代码

  protected void btnSelect_Click(object sender, EventArgs e)
    {

DataClassesDataContext dc=LinqHelper.Create();

this.GridView1.DataSource=dc.User.where(a=>a.username==this.textbox1.text).Select(a=>new {a.GID,a.username,a.password,a.UID});

//this.GridView1.DataSource = dc.User.Where(a => a.username.Contains(this.TextBox1.Text.Trim().ToString())).Select(a => new { a.UID, a.username, a.password, a.GID });//contains模糊查询

this.GridView1.DataBind();

     }

10、分页

 protected void gvUser_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvUser.PageIndex = e.NewPageIndex;
        this.BindData();
    }

原文地址:https://www.cnblogs.com/xw2cc1314/p/2968649.html