【问题标题】:Visual Studio / C# SQL command not executedVisual Studio / C# SQL 命令未执行
【发布时间】:2016-01-18 09:41:33
【问题描述】:

我正在使用 SQL 数据库,从今天早上开始,我没有从 Visual Studio / C# 中的查询中得到任何结果:ExecuteNonQuery() 下面的代码将永远无法访问。上周五,一切正常。如果我尝试使用 PhpStorm 执行相同的查询,它会起作用。

有人知道如何找出问题所在吗?

这是我的代码的样子:

// Create the connection
SqlConnection Con = new SqlConnection(ConnectionString);
Con.Open();

// Delete every entry in the database table
SqlCommand DeleteCommand = Con.CreateCommand();

DeleteCommand.CommandText = "TRUNCATE TABLE [TableName];"

DeleteCommand.ExecuteNonQuery();

// code below is not reached

更改超时没有帮助。

我正在使用:

  • Sql Server 2008(在自己的服务器上运行)
  • Visual Studio 2013
  • .NET v4.0.30319
  • Windows 8.1

谢谢!

编辑:

  • 该表当前为空,但用示例记录填充它并没有帮助
  • 我试图用例如替换语句。 SELECT 1 FROM [TableName],没用
  • 当我调试并在ExecuteNonQuery() 按 F10 时,我得到相同的行为:只是没有反应。没有其他代码被执行。
  • 将查询放入事务中没有帮助

【问题讨论】:

  • 你说的永远联系不上是什么意思?你的代码去别的地方了吗?你调试过你的代码,看看会发生什么?
  • 永远不会到达ExecuteNonQuery() 下方任何行的断点(或至少不会到达~10 分钟)
  • 顺便说一句:当您按下“暂停”按钮时,您可以看到程序的执行位置
  • 你检查ConnectionString是否正确,你有没有考虑把它放到一个事务中?
  • 尝试获取一些小数据(带有选择查询)只是为了检查连接是否正常

标签: c# sql visual-studio sql-server-2008 visual-studio-2013


【解决方案1】:

试试这个

using (SqlConnection con = new SqlConnection(connectionString))
{
 con.Open();
 using (SqlCommand cmd = new SqlCommand())
 {
 cmd.CommandText = "TRUNCATE TABLE [TableName];"
 cmd.Connection = con;
 cmd.ExecuteNonQuery();
 }
}

【讨论】:

  • 感谢您的回答!但在实际代码中,我使用的是using 块;)我只是试图缩短代码
  • @LeifB 我知道你得到了这个工作,虽然不要尝试缩短你的代码。只需更改变量名称等。如果这是一个大问题(不是需要重新启动的问题),我们该如何解决?您可能已经删除了故障代码。
【解决方案2】:

所以,实际上重启我的电脑确实解决了问题,而重启VS并没有......

对不起,我没想到会这样。感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多