小编Zug*_*alt的帖子

如何在C#中获取导致SqlException的实际SQL?

可能重复:
获取导致SQLException的Query/CommandText

我正在处理一些错误处理代码(使用elmah),默认设置只发送错误消息.我想知道抛出错误的实际SQL(即"SELECT*FROM thisTableDoesNotExist")

这是我到目前为止:

if (e.Error.Exception is SqlException)
{
    //if SQL exception try to give some extra information
    SqlException sqlEx = e.Error.Exception as SqlException;
    e.Mail.Body = e.Mail.Body + "<div>" +
                                "<h1>SQL EXCEPTION</h1>" +
                                "<b>Message</b>: " + sqlEx.Message +
                                "<br/><b>LineNumber:</b> " + sqlEx.LineNumber + 
                                "<br/><b>Source:</b> " + sqlEx.Source +
                                "<br/><b>Procedure:</b> " + sqlEx.Procedure +
                                "</div>";
}
Run Code Online (Sandbox Code Playgroud)

我希望能够显示实际的SQL.数据库是SQL Server 2008,SqlException是System.Data.SqlClient.SqlException类型.

c# sql sqlexception

13
推荐指数
1
解决办法
9362
查看次数

MongoDb - 如何使用$ set更新嵌套对象的多个元素?

可以说我有以下文件:

{name: 'myDoc', nestedDoc: {a: 1, b: 2, c: 3}}
Run Code Online (Sandbox Code Playgroud)

我想与nestedDoc合并一个新对象:

{b: 20, c:30, d:40}
Run Code Online (Sandbox Code Playgroud)

所以最终的对象是:

{name: 'myDoc', nestedDoc: {a: 1, b: 20, c: 30, d: 40}}
Run Code Online (Sandbox Code Playgroud)

如何在单个查询中执行此操作?我觉得我需要多个$ set调用,但对象属性名称必须是唯一的.换句话说,我希望我能做到以下几点:

db.myCollection.update({name: 'myDoc', nestedDoc: {$set: {b: 20}, $set: {c: 30}, $set: {d: 40}}); 
Run Code Online (Sandbox Code Playgroud)

一些额外的细节是mongodb版本是1.8.2,我使用nodejs节点本机驱动程序.

set mongodb

11
推荐指数
1
解决办法
1万
查看次数

我怎么能这样git拒绝推送无法编译的代码?

我想为git添加一个更新钩子,以防止人们推送无法编译的java代码.理想情况下,它会调用javac,查看结果,并允许或拒绝推送.

我想要阻止的最常见的例子是有人没有提交他们所有的更改,从而打破了构建.但是,我的理解是git钩子在客户端(而不是服务器)上运行,所以如果发生上述情况,钩子仍然允许推送.

什么是阻止人们使用不完整提交破坏构建的最佳方法?

更新:

有一个原始版本的钩子工作,感谢所有的帮助!

摘自更新钩子:

### make sure code compiles
## currently does this by copying the state of the repository as of the pushed code and attempting to build it

# for now, hard coded as C:\Windows\Temp
copydir="/c/Windows/Temp/git_hook_compile_copy"

echo "making copy of $newrev to $copydir" >&2
rm -rf "$copydir"
mkdir "$copydir"
git archive $newrev | tar -x -C $copydir/
if [ "$?" != "0" ]; then
    echo "*** unable to make copy of code" >&2
    exit 1
fi …
Run Code Online (Sandbox Code Playgroud)

git hook push compilation

9
推荐指数
1
解决办法
4717
查看次数

如何在MySQL 5.1中转换int?

我正在从SQL Server转换到MySQL 5.1,似乎试图使用select语句创建一个表,以便列有点.

理想情况下,以下方法可行:

CREATE TABLE myNewTable AS
SELECT cast(myIntThatIsZeroOrOne as bit) AS myBit
FROM myOldtable
Run Code Online (Sandbox Code Playgroud)

然而sql对于转换非常不满意.我怎么能告诉它选择一个int列(我知道只有0和1)作为一个位?

mysql casting bit mysql-5.1

9
推荐指数
2
解决办法
2万
查看次数

如何用Java替换大文件的第一行?

我想在Java中删除文本文件的第一行.这个文件是几千兆字节,我不想复制.使用这篇文章的建议,我试图使用RandomAccessFile这样做,但它写的太多了.

这是我的代码:

RandomAccessFile raInputFile = new RandomAccessFile(inputFile, "rw");
origHeaderRow = raInputFile.readLine();
raInputFile.seek(0);
raInputFile.writeChars(Strings.repeat(" ",origHeaderRow.length()));
raInputFile.close();
Run Code Online (Sandbox Code Playgroud)

如果您想要一些示例输入和输出,请执行以下操作:

之前:

first_name,last_name,age
Doug,Funny,10
Skeeter,Valentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
Run Code Online (Sandbox Code Playgroud)

后:

                        alentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
Run Code Online (Sandbox Code Playgroud)

在此示例中,在大多数编辑器中,文件正确地以24个空格开头,但已替换了48个字符(包括换行符).粘贴到这里后,我看到了奇怪的问号.双倍大小的替换使得我涉及编码的事情变得混乱,但我尝试了writeUTF具有相同的结果.

java file-io replace file line

9
推荐指数
2
解决办法
4345
查看次数

任何简单的方法来判断mongodb索引是否仍在使用?

随着我的项目的代码不断发展,新的索引正在实施,我相信不再需要一些旧的索引.然而,在我放弃它们以查看是否有任何速度变慢之前,我更倾向于是否有更多的编程或分析方法来确定是否正在使用索引.

我没有在system.indexes集合中看到任何内容,但理想情况下,某些地方有索引访问的统计数据!是这样的吗?

indexing mongodb

9
推荐指数
1
解决办法
6628
查看次数

为什么这么多的sp_resetconnections用于C#连接池?

我们有一个用C#编码的Web服务,可以调用MS SQL Server 2005数据库.代码使用Using块结合C#的连接池.

在SQL跟踪期间,我们看到许多调用"sp_resetconnection".其中大部分时间短<0.5秒,但有时我们的呼叫持续时间长达9秒.

从我读到的内容来看,sp_resetconnection与连接池有关,并且基本上重置了打开连接的状态.我的问题:

  • 为什么开放连接需要重置状态?
  • 为什么这么多电话!
  • 什么可能导致调用sp_reset连接需要花费很多时间.

这对我来说是个谜,我很感激所有的帮助!

c# connection-pooling sql-server-2005 sp-reset-connection

8
推荐指数
1
解决办法
2872
查看次数

在解决冲突时,我如何知道我在git rebase中走了多远?

我在git中变形,并遇到了很多冲突.我解决每一个问题git rebase --continue,只会遇到下一个冲突.我如何才能看到我有多接近成功完成rebase?

git conflict rebase

8
推荐指数
1
解决办法
613
查看次数

有一个Java相当于Javascript的"一些"方法吗?

我有一个集合,我想知道是否至少有一个元素符合某些条件.基本上,有些人在JavaScript中做了什么,我想在集合上做!

javascript java collections guava

8
推荐指数
2
解决办法
2552
查看次数

如何强制刷新req.user?

我在我的node.js/express应用程序中使用带有本地身份验证策略的passport.js.

返回的用户LocalStrategy包括电子邮件和用户名等内容.

我想让用户能够在应用程序中更新他们的电子邮件或用户名.当发生这种情况时,我想告诉护照重新加载用户(类似于他们刚刚登录),以便req.user反映会话剩余部分的更新更改.简单地设置它似乎不会超过那个请求.

简化示例:

app.get('/changeEmail', function(req, res, next) {

    var userId = req.user.id;
    var origEmail = req.user.email;
    var newEmail = req.param('email');

    userDao.updateEmail(userId, newEmail, function(err) {
        if (!err) {
            // user's email has changed, need change reflected in req.user from this point on
            req.user.email = newEmail;
        }
        next();
    });

});
Run Code Online (Sandbox Code Playgroud)

session node.js express passport.js

8
推荐指数
1
解决办法
2089
查看次数