当我尝试在访问数据库中插入某些内容并进行查询以检索最后插入的行时,它会在上次插入之前给出。
它表示我用于检索最后一行的查询无法读取(上次插入),这表示插入执行时间存在问题...
这是我的代码:
tst t = new tst() { txt="test"};
t.Insert();
var res = DataAccess.GetSqlValue("select * from tst where id=(select max(id) from tst)", EgxDataType.Msaccess);
我该如何解决这个问题?
答案 0 :(得分:0)
试试这个:
SELECT * FROM tst WHERE id=(SELECT max(id+1) FROM tst)
答案 1 :(得分:0)
请参阅此msdn方法http://msdn.microsoft.com/en-us/library/59x02y99(v=vs.110).aspx
或者
您可以修改您的插入过程。
Insert Into Table_1(Name)
OutPut Inserted.Id,Inserted.Name
values('Sandeep')
现在,如果您运行select * from Inserted
,您将获得最新记录作为最后插入的表格。
并使用OleDBCommand上的ExecuteReader接收结果。