2010-02-09 89 views
8

我正在Microsoft Access中编写数据库以保存客户端不必购买SQL Server。 你如何获得我刚刚插入的行的主键?在SQL Server中,这是Scope_Identity()in Microsoft Access

INSERT INTO TABLE(FIELDLIST) VALUES(VALUELIST) 
SELECT * FROM TABLE WHERE PrimaryKeyID = SCOPE_IDENTITY() 

回答

2

如果是钱,得到SQL Server Express;免费。

如果您正在编写应用程序,您仍然需要Microsoft Access,但可以将SQL Server Express数据库附加到您的应用程序,并使用SQL Server Express数据库作为您的存储介质。

如果应用程序是多用户应用程序,从一开始就使用SQL Server Express作为后端数据库将使应用程序更加可靠,尤其是如果您缺乏使用Access正确创建多用户应用程序所需的专业知识作为后端。

多用户应用程序有两部分:数据库和应用程序前端。数据库将驻留在一台机器上,并由每个应用程序前端共享。应用程序前端将被复制到每个用户的计算机上。

如果您认真对待开发,请获得this book。尽管它已过时,但它仍然是Access开发的权威性工作。

+0

这是一个很好的建议。许多托管公司提供1个SQL Server数据库以及所需的许多Microsoft Access数据库。我试图限制堆积到SQL Server数据库中的表的数量。我必须检查是否有任何托管公司免费提供SQL Server Express。 – 2010-02-09 18:15:15

+0

我们在谈论多少表?桌子的数量是不断增加的?如果不是的话,你的单个SQL Server实例应该能够处理任何你抛出的东西。如果表格不断增长(您是否每天都添加一个新表格?),并且这些表格都具有相同的字段,请考虑添加另一个字段来区分表格实例(日期字段,可能是?)并将所有数据放到一张桌子里。 – 2010-02-09 22:32:34