C # Вставить во временную таблицу - PullRequest
2 голосов
/ 11 сентября 2011

У меня есть временная таблица #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»

Заранее благодарен за любую помощь.

Ответы [ 2 ]

3 голосов
/ 11 сентября 2011

Временная таблица ограничена областью действия хранимого процесса или соединения и т. Д. Таким образом, у вас, вероятно, есть другие соединения, или вы закрываете его.

Вам придется изменить код, чтобы открывать и закрывать один раз: keepон жив для всех ваших действий SQL

0 голосов
/ 11 сентября 2011

Вы должны попытаться создать глобальную временную таблицу, используя ## PORTAL_PRODUTOS

...