我怎样才能获得最新的" id"从我的数据库中,并将其放在文本框中 注意:我必须从我的数据库中返回最新的ID。
看看这个方法:
public void refresh()
{
var query = from qc in db.tbl_viewClients select qc.id ;
int a = Convert.ToInt32(query.SingleOrDefault().ToString());
txt_id.Text = Convert.ToString(a);
}
答案 0 :(得分:2)
您应该在没有记录时进行处理,因为NSString *str_url=[arrURL objectAtIndex:indexPath.row];//put your index
ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
NSURL* aURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@",str_url]];
[assetLibrary assetForURL:aURL resultBlock:^(ALAsset *asset) {
ALAssetRepresentation *rep = [asset defaultRepresentation];
Byte *buffer = (Byte*)malloc(rep.size);
NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];
NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];
cell.imageCell.image=[UIImage imageWithData:data];
} failureBlock:^(NSError *error)
{
NSLog(@"Error: %@",[error localizedDescription]);
}];
会抛出Max
。
InvalidOperationException
但这种方法列举了两次查询! 这是一招!
var query = from qc in db.tbl_viewClients select qc.id;
if (query.Any())
{
var max = query.Max();
txt_id.Text = max.ToString();
// do rest of work
}
else
{
//handle the case when you have no record
}
答案 1 :(得分:1)
假设id
存储为int而最新表示最大ID ,您只需使用Max()
*:
int a = query.DefaultIfEmpty(0).Max();
否则,问题中缺少确定最新的信息,例如创建日期。
*)添加DefaultIfEmpty(0)
以返回0
,以防query
未返回任何结果。
答案 2 :(得分:1)
请试试。
var query = from t in table orderby t.Id descending
select t.Id;
object result = query.FirstOrDefault();
希望有所帮助。
答案 3 :(得分:1)
如果你正在尝试做我认为你的事情(在数据库中插入一些东西,然后查询它以找到你认为刚刚插入的ID),那么停止!这样做不会确保您检索的ID是您需要的ID,因为您的数据库可以随时被其他人更改(并发)。但是,考虑到它只是一个测试,而且只是你使用它并且你需要知道你刚刚插入的ID,那么这样做的方法是:
假设您使用LINQtoSQL或Entity Framework,当您向上下文添加对象并调用SaveChanges()时,相关对象将填充其ID(或主键)字段。检查一下!