insert to一条记录到access中,数据库会自动产生一个自增长的ID,我想插入之后返回这个ID,请问如何做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了insert to一条记录到access中,数据库会自动产生一个自增长的ID,我想插入之后返回这个ID,请问如何做?相关的知识,希望对你有一定的参考价值。

string SQL = "insert into 商品详情(商品ID,详情) values('11','xxxx')select @@identity";
Int32 id = Convert.ToInt32(mywork.ExecuteScalar(SQL));
或者
string SQL = "insert into 商品详情(商品ID,详情) values('11','xxxx');select @@identity";均失败!
错误:+"SQL 语句的结束位置缺少分号 (;)。"
string SQL = "insert into 商品详情(商品ID,详情) values('11','xxxx');select @@identity;";
出现这样的问题:在 SQL 语句结尾之后找到字符。"
是不是access不支持多条语句呀/?

参考技术A string SQL = "insert into 商品详情(商品ID,详情) values('11','xxxx');select @@identity;";
再加一个分号?
参考技术B 你将这条sql语句分两次执行就可以了 参考技术C insert into 商品详情(商品ID,详情) values('11','xxxx')go select @@identity from inserted 参考技术D values数字是不能加''号的

如何用SQL语句向一个表中插入多行记录

参考技术A

insert一般是用来给表插入一条指定的列值的,但是,insert还存在另一种形式,可以利用它将一条select语句的结果插入表中。

这就是所谓的insert select,顾名思义,它是由一条insert语句和一条select语句组成的。假如你从另一张表中合并客户列表到你的Custumers表,不需要每次读取一行,然后再将它用insert插入,可以如下进行:

insert into Custumer(cust_id,

cust_cintact,

cust_name,

cust_email,

cust_address,

cust_country)

select cust_id,

cust_cintact,

cust_name,

cust_email,

cust_address,

cust_country

from CustNew;

扩展资料

insert select中的列名为简单起见,这个例子在insert和select语句中使用了相同的列名,但是,不一定要求列名匹配。事实上,DBMS甚至不关心select返回的列名,它使用的是列的位置。

因此,select中的第一列(不管其列名)将用来填充表列中的指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。

以上是关于insert to一条记录到access中,数据库会自动产生一个自增长的ID,我想插入之后返回这个ID,请问如何做?的主要内容,如果未能解决你的问题,请参考以下文章

用insert into 怎么添加多条记录

将记录添加到 Access 数据库时出现“INSERT INTO 语句中的语法错误”

INSERT INTO 语句中的语法错误(将多条记录从 Gridview 插入到 Access)

为啥access数据表中有一条记录不能修改

在vb.net中怎样浏览首记录 、上一条、下一条、尾记录、和数据库access 绑定的

我希望 MS Access 中最后一条记录的相应 ID 出现在消息框内 [重复]