数据库组件 Hxj.Data (四)(添加操作篇)

上一节讲述如何使用查询。这节将讲添加数据操作即Insert<T>方法的使用.

先上例子(使用asp.net)

这个是页面html代码:

<!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">
   _ProductName<asp:TextBox runat="server" ID="txt_ProductName"></asp:TextBox><br />
   _SupplierID<asp:TextBox runat="server" ID="txt_SupplierID"></asp:TextBox><br />
   _CategoryID<asp:TextBox runat="server" ID="txt_CategoryID"></asp:TextBox><br />
   _QuantityPerUnit<asp:TextBox runat="server" ID="txt_QuantityPerUnit"></asp:TextBox><br />
   _UnitPrice<asp:TextBox runat="server" ID="txt_UnitPrice"></asp:TextBox><br />
   _UnitsInStock<asp:TextBox runat="server" ID="txt_UnitsInStock"></asp:TextBox><br />
   _UnitsOnOrder<asp:TextBox runat="server" ID="txt_UnitsOnOrder"></asp:TextBox><br />
   _ReorderLevel<asp:TextBox runat="server" ID="txt_ReorderLevel"></asp:TextBox><br />
   _Discontinued<asp:CheckBox ID="txt_Discontinued" runat="server" /><br />
   <asp:Button ID="Button1" runat="server" Text="提交Insert" OnClick="Button1_Click" />
   <asp:GridView ID="gridView" runat="server">
   </asp:GridView>
   </form>
</body>
</html>

cs后台按钮代码:

protected void Button1_Click(object sender, EventArgs e)
     {
       //新建一个实体
       Products p = new Products();
       //开启修改 (开启修改后的添加操作将只insert赋值过的字段)
       //p.Attach();
       //获取页面中输入的值
       EntityUtils.UpdateModel<Products>(p, "txt_");
       //返回值 如果有自增长字段,则返回自增长字段的值
       int returnValue = DbSession.Default.Insert<Products>(p);

       //将插入的数据查询出来
       gridView.DataSource = DbSession.Default.From<Products>().Where(Products._.ProductID ==  returnValue).ToList();
    gridView.DataBind();
     }

这样就完成了一个添加操作,代码不多。

其中EntityUtils.UpdateModel<Products>(p, "txt_");

这个需要讲解一下,这个asp.net辅助类,读取页面中的值对应实体的值,页面控件命名格式就是前缀txt_加上属性名。

Insert<T>有四个不同签名方法,也很简单大家自己看看就明白了。

数据库的添加操作是不是很简单的了啊。

下一节将讲述Update<T>方法的使用。

时间: 2024-12-31 17:33:20

数据库组件 Hxj.Data (四)(添加操作篇)的相关文章

数据库组件 Hxj.Data (二十八)

数据库组件 Hxj.Data (二十八)(事务中的查询,查询字段字中的子查询,WhereClip的隐式转换) 本节讲述新版本中新加的功能,以及如何使用. 事务中的查询 应用场景,有时我们需要事务更新.添加.删除表的操作,在提交事务又需要对这些进行查询(不想 降低事务级别让其他连接查询事务中的数据变动),在事务内部进行的查询. 其实只是在DbTrans中增加了FromSection方法. 示例代码如下: using (DbTrans trans = DbSession.Default.BeginT

数据库组件 Hxj.Data (三)(查询操作篇)

Hxj.Data使用入口在Hxj.Data.DbSession,DbSession类封装常用的操作,比如: From<T>,Insert<T>,Update<T>,Delete<T>等常用方法. DbSession.Default是一个默认的DbSession.在默认情况下会自动读取web.config/app.config配置文件中connectionStrings节点的最后一 个配置. 可以通过条用DbSession的SetDefault方法来修改这个D

数据库组件 Hxj.Data (五)(更新操作篇)

上节讲完添加操作,这节将讲述更新操作,Update<T>的使用. 先来例子: //获取Products表第一行 Products p = DbSession.Default.From<Products>().ToFirst(); //开启修改 (修改操作之前 必须执行此方法) p.Attach(); p.ProductName = "apple"; //获取修改记录 //List<ModifyField> list= p.GetModifyField

数据库组件 Hxj.Data (三十一)(MySQL篇)

组件V1.7版本增加对MySQL的支持(测试了MySQL 5.1版本). 下面来演示如何使用. 首先添加Connectionstring <add name="MySQLConnectionString" connectionString="server=192.168.1.175;user id=root; password=huxj; Port=3306;database=test;" providerName="Hxj.Data.MySql&q

数据库组件 Hxj.Data (二十四)(Sqlite数据库)

Hxj.Data(V1.3)组件增加了对Sqlite数据库的支持. 以及实体生成工具也同时发布(V1.3)版本支持Sqlite数据库的实体生成. 使用Sqlite数据库开发,需要引用Hxj.Data.Hxj.Data.Sqlite.System.Data.SQLite这三个DLL. config配置数据库连接例如: <add name="SqliteConnectionString" connectionString="Data Source=C:\sqldb.db&q

数据库组件 Hxj.Data (一)(介绍篇)

Hxj.Data经过几个月的开发,终于发布了一个版本,并同时发布实体生成工具.在开发过程参考了多个ORM框架,特别是NBear,MySoft等. 吸取了他们的一些精华,加入自己的新思想. 目前支持Sql2000\2005,MsAccess,Oracle三个数据库,如有需要可再扩展. 数据库实体生成的代码Northwind数据库中Products表: //------------------------------------------------------------------------

数据库组件 Hxj.Data (二十六)(Oracle配置)

Oracle配置在connectionStrings节点的providerName为System.Data.OracleClient或者 Hxj.Data.Oracle之外,其他操作使用并没有什么不同. 不过相对于Oracle的自增长列有所不同,要做适当的处理. Oracle是通过Sequence来获取增长的值,不同于Sql Server可以方便的设置列的自增长. 在这里通过修改生成的实体就可以完成自增长列的设置. 例如: 建了一个Sequence,名为:mysequence 表中需要自增的字段

数据库组件 Hxj.Data (二十五)(数据库连接配置

本节补充讲述connectionStrings的设置. 组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪个数据库. 数据库 providerName Sql server 2000 1.System.Data.SqlClient 2.Hxj.Data.SqlServer Sql server 2005 Hxj.Data.SqlServer9 MS Access Hxj.Data.MsAccess Sqlite 1.System.Data.SQLi

数据库组件 Hxj.Data (二十二) (缓存)

首先我是做web开发的,所以很多会偏向web的,组件使用的缓存是System.Web.HttpRuntime.Cache. 组件在默认情况下是关闭缓存的. 所以要开启缓存查询要做一下配置. 先看一下例子配置: <configSections> <section name="HxjCacheConfig" type="Hxj.Data.CacheConfiguration,Hxj.Data"/> </configSections>