使用强类型的DataSet可以方便的操作数据库;有时候我们会对表的ID设置为自动增长,并且需要在插入数据后获取新插入数据的ID,按以下方法即可达到目的:

一、     首先建立一个表,id为自动增加,设置为主键

二、     建立DataSet,添加TableAdapter

1.  选择向导,“使用SQL语句”

2.  点“高级选项”,在弹出的对话框中勾选“刷新数据表”

3.  填入SQL查询语句

4.  下一步,选择“创建方法以将更新直接发送到数据库”

5.  确定后生成了增删改语句

6.  TabaAdaper生成了;此时再添加查询

7.  还是选择“使用SQL语句”

8.  选择插入“INSERT”

系统自动生成了插入语句,并且还增加了一条选择新增加行的查询语句;但此插入操作返回的受影响的行数,不会返回新增加的数据,取消向导,返回;

三、     添加ASPX页面

1.  只增加一个GridView控件:

2.  后台代码:

3.  将当前时间插入到数据库中,采用的是更新的方法,看看返回了什么:

可以看到新增加的数据已经获取了ID

4.  试下一次插入多条数据:

5.  结果返回了所有新增加的数据,包括自动生成的ID:

四、     数据库中的结果:

由于系统自动生成了返回语句,在编程时可以省却不少麻烦,但由于在插入的时候会再次查询,也增加了开销,需要平衡使用。

使用强类型DataSet增加数据并获取自动增长的ID的更多相关文章

  1. Mybatis获取自动增长Id

    Mybatis获取自动增长Id MyBatis成功插入后获取自动增长的id 1.向xxMapping.xml配置中加上两个配置. <insert id="insertUser" ...

  2. JavaWeb学习记录(二十四)——获取插入数据后,自动生成的id值

    public Integer insertObjects(final Goods entity) { // 定义sql语句        final String sql1 = "inser ...

  3. 获取自动增长IDmysqli函数

    <?php $mysqli=@new mysqli("localhost", "root", "123456", "xsph ...

  4. VB.NET中使用Linq TO SQL添加数据后获得自增长列ID

    VB.NET中使用Linq TO SQL添加数据后获得自增长列ID: Dim tempOrdre As New Order With { .CustomerID = cmbCustomerName.S ...

  5. SQL获取刚插入的记录的自动增长列ID的值

    假设表结构如下: CREATE TABLE TestTable ( id int identity, CreatedDate datetime ) SQL2005获得新增行的自动增长列的语句如下: i ...

  6. SQLite Expert 删除表数据并重置自动增长列

    用下面的语句肯定是行不通的,语句不支持 truncate table t_Records 方法:1.删除表数据 2.重置自动增长列 where name='t_Records' /*name :是表名 ...

  7. 使用JDBC获取SQL自动增长的ID

    在项目开发中,遇到一个问题,先添加一条记录然后想立刻获取这条记录的ID值,ID由SQLServer自动增长的,如果先插入再查询的话,需要另外执行一条查询ID的SQL语句,因此有了下面的方法: 1.使用 ...

  8. SQL server插入数据后,获取自增长字段的值

      ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 insert into Tb_People(uname,er ...

  9. mybatis如何成功插入后获取自增长的id

    使用mybatis向数据库中插入一条记录,如何获取成功插入记录的自增长id呢? 需要向xml配置中加上一下两个配置: <insert id="add" useGenerate ...

随机推荐

  1. laravel中及其常用的一些函数方法(自己看)和技巧(不断添加中)

    手册:https://laravelacademy.org/ 1.中间件的定义Middleware 2.路由的定义和写法 3.控制器Controller之Request 4.控制器Controller ...

  2. json、数组、html标签的修改删除

    存数组 var aa=[1,2,3]; var sStorage=window.sessionStorage; sStorage.aa=aa; console.log(sStorage.aa); // ...

  3. postMessage使用方法

    1.子页面向父页面发送消息 var parentData = {type: 'passDataBack', data: passData}; window.parent.postMessage(par ...

  4. Python类中的装饰器在当前类中的声明与调用

    [本文出自天外归云的博客园] 我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器.代码如下: class Test(): xx = False def __in ...

  5. TF的模型文件

    TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...

  6. 60cms Cookies欺骗漏洞审计

    源码地址:https://files.cnblogs.com/files/ssooking/60cms.zip 运行60cms目录下的Netbox.exe即可开启Asp Web服务,默认端口80 环境 ...

  7. hdoj:2076

    夹角有多大(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. Hlacon 之Image ,Region,XLD

    一 读取的3种方式: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ImagePath ...

  9. 解决space-between最后一排问题

    display:flex + justify-content: space-between 能够实现2端对齐的布局,这种布局在网页中很常见.不过这种布局方式有一个问题.举个例子,我们假设现在一排放4个 ...

  10. AssetManager

    AssetManager用于获取assets下的资源. 1.getassets()得到AssetManager 2.AssetManager.close() 关闭AssetManager 3.Reso ...