【问题标题】:C# Insert into temp tableC#插入临时表
【发布时间】:2011-11-14 19:07:50
【问题描述】:

我有一个临时表 #PORTAL_PRODUTOS,在 sql 管理器上我可以向其中插入值,但是当我尝试使用 C# 时它返回一个错误,说没有 #PORTAL_PRODUTOS 对象。

我的代码

string sql_insert = @"INSERT INTO #PORTAL_PRODUTOS (DESCRICAO, STRCODIGO, STRREFERENCIA) VALUES (@DESCRICAO, @STRCODIGO, @STRREFERENCIA)";

                        SqlCommand _cmd_insert = new SqlCommand(sql_insert, Conexao);

                        _cmd_insert.Parameters.AddWithValue("@DESCRICAO", tmpProdutoVO.DESCRICAO);
                        _cmd_insert.Parameters.AddWithValue("@STRCODIGO", tmpProdutoVO.STRCODIGO);
                        _cmd_insert.Parameters.AddWithValue("@STRREFERENCIA", tmpProdutoVO.STRREFERENCIA);

                        _cmd_insert.ExecuteNonQuery();
                        _cmd_insert.Parameters.Clear();
                        _cmd_insert.Dispose();

错误出现在 ExecuteNonQuery 行。 "无效的对象名称#PORTAL_PRODUTOS"

提前感谢您的帮助。

【问题讨论】:

    标签: c# sql-server-2008 temp-tables


    【解决方案1】:

    您应该尝试使用##PORTAL_PRODUTOS 创建一个全局临时表

    【讨论】:

    • 这对于多个并发调用是不安全的
    【解决方案2】:

    临时表的范围仅限于存储的过程或连接等 所以你可能有不同的连接或者你关闭它。

    您必须更改代码以便打开和关闭一次:为所有 SQL 操作保持活动状态

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-31
      • 2012-08-19
      • 2018-11-20
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      相关资源
      最近更新 更多