我确信这可能是一个简单的问题,但不幸的是,这是我第一次使用 Java 并使用 Android SDK。
我正在使用 Apache HTTP 库在 Android 上上传文件,特别是使用 MultipartEntity。
我正在上传到允许我向他们发送文件块的服务,一旦完成,他们将重新组装这些块。我想利用这个功能。
这是场景。
文件 FOO.BAR 为 20 MB。我会把它分成一些任意的块大小,比如说 1 MB,这意味着 20 个块。块 #3 和 #14 失败(可能是蜂窝/WiFi 连接不好)。我现在可以重新上传这两个块,一切都会好起来的。
我想知道的是如何只读取文件的一部分(例如 3MB 和 4MB 之间的数据)?
文件片段应该是 InputStream 或 File 对象。
谢谢,诚
- 向下滚动以查看我添加的编辑 -
所以这是我的情景.我有一个表,每当有人对某些数据进行更改时都会有一个条目.原因是我们需要能够审核所有更改.
但是,我只想检索用户进行的一系列编辑的最新记录.
所以假设有三个用户,用户A,B和C.
用户A进行了10次更改(表中有10个条目).用户B进行5次更改用户A进行3次更改用户C进行2次更改
我想要回复的是:C创建的2条记录中最近的一条记录A创建的3条记录中最近的一条记录B创建的5条记录中最近的一条记录创建的10条记录中最近的一条记录
总共4行,我回来了
这是我尝试过的,但问题是,当LastUpdatedBy发生变化时,RowNum不会回到1:
WITH cte AS
(
SELECT
[LastUpdatedOn]
,[LastUpdatedBy]
,ROW_NUMBER() OVER(PARTITION BY [LastUpdatedBy] ORDER BY [LastUpdatedOn] DESC) [RowNum]
FROM [HistoricalTable]
)
SELECT
[LastUpdatedOn]
,[LastUpdatedBy]
,RowNum
FROM cte
--WHERE RowNum = 1
ORDER BY [LastUpdatedOn] DESC;
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出(**星号代表我想要的行)
LastUpdatedOn LastUpdatedBy RowNum
**2011-06-07 13:07:26.917 629 1**
2011-06-07 12:57:53.700 629 2
2011-06-07 12:57:44.387 629 3
2011-06-07 12:57:34.913 629 4
2011-06-07 12:57:25.040 629 5
2011-06-07 12:57:19.927 629 6
2011-06-07 12:55:17.460 629 7
2011-06-07 12:55:12.287 629 8
2011-06-07 …Run Code Online (Sandbox Code Playgroud) 假设我在数据库中有一个Person记录,并且该人员有一个Age字段.
现在我有一个页面,允许我过滤特定年龄段的人.
例如,我可以选择多个范围选择,例如"0-10","11-20","31-40".
所以在这种情况下,我会找回0到20之间的人员列表,以及30到40,但不是21-30.
我已经采用了年龄范围并填充了如下所示的范围列表:
class AgeRange
{
int Min { get; set; }
int Max { get; set; }
}
List<AgeRange> ageRanges = GetAgeRanges();
Run Code Online (Sandbox Code Playgroud)
我正在使用LINQ to SQL进行数据库访问和查询,但我无法弄清楚如何查询范围.
我想做这样的事情,但当然,这不起作用,因为我无法根据SQL值查询我的本地值:
var query = from person in db.People
where ageRanges.Where(ages => person.Age >= ages.Min && person.Age <= ages.Max).Any())
select person;
Run Code Online (Sandbox Code Playgroud)