SQL查询返回空表

问题描述:

我最近升迁了一个数据库后端到SQL并保持相同的前端,所以我正在更新一些代码,但是,我不明白为什么这会为.Fields返回一个空值(“BuildingID”) 。任何帮助将非常感激!SQL查询返回空表

Set rst = CurrentDb.OpenRecordset("SELECT * FROM Buildings, dbOpenDynaset, dbSeeChanges) 
    . 
    . 
    . 
If Not rst Then 
    With rst 
    .AddNew 
    NewID = .Fields("BuildingID") 
+0

我怀疑‘的AddNew’只添加一条记录的记录,它还未插入一行到数据库表,我也怀疑BuildingID在SQL Server中被声明为IDENTITY列,我不认为对Recordset所做的更改会应用到数据库,直到您在Recordset上执行.Update为止。在插入到SQL Server数据库之前,IDENTITY列将不会被分配给新行。)这不是一个答案,它只是一个猜测。 – spencer7593

我觉得“应该有像在选择查询的末尾

Set rst = CurrentDb.OpenRecordset("SELECT * FROM Buildings", dbOpenDynaset, dbSeeChanges) 
+0

我认为S的结尾ELECT查询在建筑物之后的逗号前面。我认为SELECT查询后面是选项(例如,仅向前滚动,仅为只读等)(此代码看起来更像Microsoft栈(例如DAO和VB),它看起来像MySQL。 – spencer7593