WinForm问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 00:42:44
winform问题! 我向一个表添加一条信息 该表有一个自动增加的ID 有什么办法在我添加完一条信息后返回该条信息的ID值? 请教

呵呵,以前做双表插入时遇到的这个问题:给你最标准的答案:

SQL 中有这样一个全局命令,直接返回最后插入记录的ID
Select @@IDentity

(@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。

1。建议添加后搜索最大ID
2。在添加时用一个变量记录,如
x=表.添加记录操作
这样可直接引用X来操作已添加的记录
至于到底如何操作要看你用的程序类型了

用程序生成好啊,比较容易控制 每添一个记录自动加一

我做了一个
一个label
int a =select max(ID) from 表/*其它的你自已写*/

label.text=(a+1).tostring();/*From load函数中*/
这样还没写入数据它的ID就出来了。
但记得插入数据时不要写ID

Select @@IDentity
让数据库执行一个这个语句就可以获得最新添加一条信息的ID值.

也可以在你插入过后`在让数据库执行按照ID倒序排列`获取第一个`也可以.

办法:取消数据库中的自增列,用代码添加该ID的值

首先从数据库中查出最大的ID值,如果ID为空,那当前ID置1;
如果不为空,将最大值加1就是当前ID;