小编Rob*_*ram的帖子

使用Transact-SQL在try catch with tran中更改然后更新的问题

这是一些Transact-SQL我试图通过sqlcmd(SQL Server 2005)运行.

USE PUK;
GO
BEGIN TRANSACTION;
BEGIN TRY

   -- - Modify RETRIEVAL_STAT
   alter table dbo.RETRIEVAL_STAT add
      SOURCE nvarchar(10) NULL,
      ACCOUNTNUMBER nvarchar(50) NULL,
      PUK nvarchar(20) NULL;

   -- transform logic.
   update dbo.RETRIEVAL_STAT set
      SOURCE = 'XX',
      ACCOUNTNUMBER = 'XX',
      PUK = 'XX';

END TRY
BEGIN CATCH
    SELECT
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;
    IF @@TRANCOUNT > 0
        ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
    COMMIT TRANSACTION;
GO …
Run Code Online (Sandbox Code Playgroud)

sql transactions sql-server-2005 try-catch

4
推荐指数
1
解决办法
2080
查看次数

具有多个转换的 VS Code 片段

我正在尝试制作一个片段,它将获取剪贴板内容(文档中标题的markdown文本)并将其转换为该部分的链接。例如,如果我的剪贴板包含:Some Heading - 20191107那么我希望输出以下内容:

[Some Heading - 20191107](filename.md#some-heading---20191107)
Run Code Online (Sandbox Code Playgroud)

这里是我的代码段VS Code用于markdown至今:

    "link to this section": {
        "prefix": "isection",
        "body": [
            "[${1:${CLIPBOARD}}](${TM_FILENAME}#${CLIPBOARD/ /-/g})"
        ],
        "description": "Insert link to section whose heading text is in the clipboard"
    }
Run Code Online (Sandbox Code Playgroud)

这是第一个转换,但我无法弄清楚如何嵌套多个转换:

  • 用连字符替换所有空格。
  • 全部改为小写。
  • 删除任何匹配的字符 [^a-z0-9-]

测试用例

为了澄清@Mark 的测试用例,在 中的markdown文档中VS Code,我创建了一个部分标题,例如:

# 20191107 - @#$%^& This is a section - 20191107
Run Code Online (Sandbox Code Playgroud)

然后我复制文本20191107 - @#$%^& This is a section - 20191107并运行您为我修复的代码段。它输出的是:

[20191107 - …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-snippets

4
推荐指数
1
解决办法
1004
查看次数

Windows 7 上的 Cygwin 权限

我想这个问题与之前关于 Cygwin 权限 的答案有关,但我未能弄清楚如何将答案应用于我的情况。

我发现当我编辑文件时(~/.screenrc在本例中),我可以进行一项更改,然后重置权限和所有权。这就是我在进行一次更改以再次重置权限后所做的事情:

Chi Site - ~/wd
Sun Jul 30 - 03:12 PM > ls -la ~/.screenrc ; chown -R RobertMarkBram:Users ~/.screenrc ; chmod 777 ~/.screenrc ; ls -la ~/.screenrc
----rwxrwx+ 1 Administrators None 1921 Jul 30 15:12 /home/RobertMarkBram/.screenrc
-rwxrwxrwx+ 1 RobertMarkBram Users 1921 Jul 30 15:12 /home/RobertMarkBram/.screenrc
Run Code Online (Sandbox Code Playgroud)

我在之前关于 Cygwin 权限的答案中读到了有关更改/etc/fstab. 这就是我所拥有的,但它没有产生任何影响:

none /cygdrive cygdrive binary,posix=0,user 0 0
none / cygdrive binary,posix=0,user 0 0
Run Code Online (Sandbox Code Playgroud)

这些是我的挂载点:

Chi Site - ~/wd
Sun Jul …
Run Code Online (Sandbox Code Playgroud)

cygwin windows-7

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

JodaTime允许无效日期

我预计这会引发异常,因为2016年2月1日不是星期五:

final DateTimeFormatter formatter = DateTimeFormat.forPattern("EEEE, d MMMM yyyy");
final DateTime date = formatter.parseDateTime("Friday, 1 February 2016");
System.out.println(formatter.print(date));
Run Code Online (Sandbox Code Playgroud)

相反,它打印出来了Friday, 5 February 2016.我在这里错过了什么?

java jodatime

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

线程安全的方式来复制地图

我正在使用JDK 7,SQLite,并在我的项目中使用了Guava.

我有一个少于100个条目的TreeMap,由一个"工作"线程每秒更新数百次.我现在正在编写一个组件(另一个线程 - "DB线程"),它将每隔5或10秒将映射写入我的数据库.

我知道我需要制作地图的深层副本,以便数据库线程将使用快照,而工作线程继续其工作.我正在查看Guava Maps类,它有许多制作副本的方法,但我不确定它们是否满足我在需要副本时在地图上同步的需要.有没有一种方法可以满足我的需求,或者我应该编写一个同步块来制作我自己的深层副本?

java guava

0
推荐指数
1
解决办法
1197
查看次数

带有转义分隔符的 OpenCsv 读取文件

我正在使用 opencsv 2.3,它似乎没有像我期望的那样处理转义字符。我需要能够处理不使用引号字符的 CSV 文件中的转义分隔符。

示例测试代码:

CSVReader reader = new CSVReader(new FileReader("D:/Temp/test.csv"), ',', '"', '\\');
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
    for (String string : nextLine) {
        System.out.println("Field [" + string + "].");
    }
}
Run Code Online (Sandbox Code Playgroud)

和 csv 文件:

first field,second\,field
Run Code Online (Sandbox Code Playgroud)

和输出:

Field [first field].
Field [second].
Field [field].
Run Code Online (Sandbox Code Playgroud)

请注意,如果我将 csv 更改为

first field,"second\,field"
Run Code Online (Sandbox Code Playgroud)

然后我得到了我所追求的输出:

Field [first field].
Field [second,field].
Run Code Online (Sandbox Code Playgroud)

但是,就我而言,我没有修改源 CSV 的选项。

csv escaping opencsv

0
推荐指数
1
解决办法
961
查看次数