Ошибка использования select * в оператор в c #

1

Я изо всех сил пытаюсь заставить свой запрос работать в С# usng select * into statement, который скопирует данные таблицы и создаст новую таблицу.

using (SqlConnection con = new SqlConnection(connectionstring))
        {
            con.Open();
            using (SqlCommand cmd = new SqlCommand("select  pp.upc as upc , pp.description as                     Description,sp.qty_onhand as Qty" +
                          "into TempProductProfile from product_profile pp" +
                          "inner join store_products sp on" +
                          "pp.upc = sp.upc" +
                          "order by pp.description", con))

                   cmd.executenonquery(): <-- got error here         
        }

Может ли кто-нибудь указать мне правильный путь?. благодаря

  • 3
    В этом случае было несложно увидеть, что происходит не так (иногда вам просто нужна вторая пара глаз на ваш код) , но в будущем, пожалуйста, включите исключение / ошибку в свой вопрос.
  • 0
    В следующий раз создайте дословную строку для вашего sql stackoverflow.com/questions/13155449/…
Показать ещё 1 комментарий
Теги:

3 ответа

3
Лучший ответ
using (SqlConnection con = new SqlConnection(connectionstring))
        {
            con.Open();
            using (SqlCommand cmd = new SqlCommand(@"select  pp.upc as upc , pp.description as                     Description,sp.qty_onhand as Qty
                          into TempProductProfile from product_profile pp
                          inner join store_products sp on
                          pp.upc = sp.upc
                          order by pp.description", con))

                   cmd.executenonquery(): <-- got error here         
        }

Напишите запрос как this.With @ вы можете написать строку на более чем одной строке! Проблема в объяснении Grant Winney о неправильной конкатенации строк.

  • 1
    Актуальное решение. +1
  • 0
    это работает для меня. Большое спасибо mybirthname
Показать ещё 1 комментарий
3

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

... sp.qty_onhand как Qtyinto TempProductProfile из product_profile ppinner join...

Вам нужно вставить пробел в начале каждой линии, которую вы объединяете:

using (SqlCommand cmd = new SqlCommand(
    "select  pp.upc as upc , pp.description as Description,sp.qty_onhand as Qty" +
    " into TempProductProfile from product_profile pp" +
    " inner join store_products sp on" +
    " pp.upc = sp.upc" +
    " order by pp.description", con))
0

Поместите пробел в начале каждой строки текста, исключая первый.

Поскольку у вас нет пробелов между строками текста, ваш SQL

select  pp.upc as upc , pp.description as Description,sp.qty_onhand as Qtyinto TempProductProfile from product_profile ppinner join store_products sp onpp.upc = sp.upcorder by pp.description

Ещё вопросы

Сообщество Overcoder
Наверх
Меню