小编dav*_*ave的帖子

为什么我的日期时间解析尝试失败?

我正在以两种略有不同的格式解析同一个日期,但遇到了一个我不明白的错误。

解析标准ISO格式的字符串成功:

    String s = "2018-04-17T22:57:29";
    LocalDateTime date = LocalDateTime.parse(s, DateTimeFormatter.ISO_DATE_TIME);  // OK
Run Code Online (Sandbox Code Playgroud)

但是,当我添加后缀 a"Z"并使用时ISO_INSTANT

    s = "2018-04-17T22:57:29Z";
    date = LocalDateTime.parse(s, DateTimeFormatter.ISO_INSTANT); // Fails
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

Exception in thread "main" java.time.format.DateTimeParseException: Text '2018-04-17T22:57:29Z' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {MicroOfSecond=0, NanoOfSecond=0, MilliOfSecond=0, InstantSeconds=1524005849},ISO of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1920)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1855)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at iplus.fwk.manifest.Test.main(Test.java:37)
Caused by: java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {MicroOfSecond=0, NanoOfSecond=0, MilliOfSecond=0, InstantSeconds=1524005849},ISO of type java.time.format.Parsed
at java.time.LocalDateTime.from(LocalDateTime.java:461)
at …
Run Code Online (Sandbox Code Playgroud)

java datetime parsing java-8 java-time

3
推荐指数
1
解决办法
720
查看次数

在哪里放SQL逻辑

我有一个现有的SQL Server数据库,其结构我无法真正改变,虽然我可以添加存储过程或新表,如果我想.我必须编写一个独立的程序来访问数据库,处理数据并生成一些报告.我选择了C#和Visual Studio,因为我们几乎都是MS商店.

我已经开始探索使用VS 2008来创建所述程序.我正在尝试决定在哪里放置一些SQL逻辑.我的主要目标是尽可能简化开发并快速执行.

我应该将SQL逻辑放入存储过程并简单地调用存储过程并让SQL Server执行繁琐的工作并将结果交给我吗?或者我最好在我的代码中保留SQL查询,创建相应的命令并针对SQL Server执行它?

我有一种感觉,前者可能会表现得更好,但我必须分别管理存储过程到我的代码库的其余部分,不是吗?

更新:有人指出,如果C#程序或存储过程中的SQL代码相同,则性能应该相同.如果是这种情况,最容易维护?

2009-10-02:我必须真正考虑选择哪个答案.在撰写本文时,有8个答案,基本上分为5-3,赞成将SQL逻辑放在应用程序中.另一方面,有11个向上投票,分成9-2,支持将SQL逻辑放入存储过程(以及关于这种方式的几个警告).所以我被撕裂了.最后,我要进行投票.但是,如果我遇到麻烦,我会回来改变我选择的答案:)

c# sql-server performance

2
推荐指数
1
解决办法
702
查看次数

VBA.Find并添加一个值

我试图在Excel工作表的列中找到一个特定的值,然后在右边添加一个值(= 1)三列.

我的代码:

Sub AddNote()
    ActiveSheet.Range("F:F").Find(What:="Cat").Select
    Selection.Offset(0, 4).Value = 1
End Sub
Run Code Online (Sandbox Code Playgroud)

只有我得到:

错误消息91:`对象变量或未设置块变量.

我的命令出了什么问题?

excel vba excel-vba

2
推荐指数
1
解决办法
2329
查看次数

如何加快T-SQL查询速度?

我开发了几个T-SQL存储过程,它们迭代了相当多的数据.第一个需要花费几分钟来运行一年的数据,这对我的目的来说很好.第二个使用相同的结构/算法,虽然数据量更多,需要两个小时,这是无法忍受的.

我正在使用SQL-Server和Query-Analyzer.是否有任何分析工具,如果有,它们如何工作?

或者,根据下面的伪代码,有关如何提高速度的任何想法?简而言之,我使用游标迭代来自直接SELECT(来自几个连接表)的数据.然后我根据值构建一个INSERT语句,并将结果INSERT到另一个表中.一些SELECTed变量在INSERTion之前需要一些操作.包括从日期值,一些基本浮点运算和一些字符串连接中提取一些日期部分.

---粗略算法/伪代码

DECLARE <necessary variables>
DECLARE @cmd varchar(1000)
DECLARE @insert varchar(100) = 'INSERT INTO MyTable COL1, COL2, ... COLN, VALUES('

DECLARE MyCursor Cursor FOR
    SELECT <columns> FROM TABLE_1 t1
    INNER JOIN TABLE_2 t2 on t1.key = t2.foreignKey
    INNER JOIN TABLE_3 t3 on t2.key = t3.foreignKey

OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @VAL1, @VAL2, ..., @VALn
WHILE @@FETCH_STATUS = 0
BEGIN
   @F = @VAL2 / 1.1  --- float op
   @S = @VAL3 + ' ' + @VAL1
   SET …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server optimization profiling

1
推荐指数
2
解决办法
3175
查看次数

如何将camelcase转换成蛇案?

我想使用TypeScripts将一个在camel case中的字符串转换为snake case.示例:itemNameto item_name,unitPricetoUnit_Price

javascript typescript

1
推荐指数
3
解决办法
1802
查看次数

在循环中使用calloc和free时,校验和不正确

我在for循环中声明了一个二维数组a(m*n).当for循环第一次运行时没有问题,但第二次它会产生错误.该计划是:

for (int j=0; j<2; j++) {
    int **a = (int**)calloc(n,sizeof(int*));
    for (int i=0; i<n; i++) {
        a[i] = (int*)calloc(m,sizeof(int));
    }
    //...some operation to a[m,n] array
    for (int i=0; i<n; i++)
        free(a[i]);
    free(a);
}
Run Code Online (Sandbox Code Playgroud)

for循环第二次运行时,它将运行到包含的行calloc并在控制台上生成以下错误:

malloc:***对象0x94a8b14的错误:释放对象的校验和不正确 - 对象可能在被释放后被修改

如果删除包含的行,则没有区别free.

c c++ malloc

-1
推荐指数
1
解决办法
139
查看次数

for语句中的编译器错误?

我只想写一个简单的代码,在同一行上产生5个笑脸.
Ex output = :) :) :) :) :)

我不明白为什么这段代码不能编译.

public class SmileGenerator {
    public static void main(String[] args) {
        for (int i=0,i<6,i++) {
            System.out.print(":) ");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

SmileGenerator.java:9: error: ';' expected  
        for (int i=0,i<6,i++) {  
                      ^  
SmileGenerator.java:9: error: illegal start of type  
        for (int i=0,i<6,i++) {  
                       ^  
SmileGenerator.java:9: error: illegal start of expression  
        for (int i=0,i<6,i++) {  
                        ^  
SmileGenerator.java:9: error: ';' expected  
        for (int i=0,i<6,i++) {  
                         ^  
SmileGenerator.java:9: error: illegal start of expression  
        for (int i=0,i<6,i++) { …
Run Code Online (Sandbox Code Playgroud)

java for-loop compiler-errors

-3
推荐指数
1
解决办法
51
查看次数