Хобрук: Ваш путь к мастерству в программировании

Загрузите содержимое таблиц SQL-сервера с помощью asp.net С#

 // I want to use the SQL Query SELECT * FROM Table here, how can I do that?      
string filepath = Server.MapPath("test.doc");

 FileInfo file = new FileInfo(filepath);

 // Checking if file exists
 if (file.Exists)
 {
// Clear the content of the response
Response.ClearContent();

// LINE1: Add the file name and attachment, which will force the open/cance/save dialog to show, to the header
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

// Add the file size into the response header
Response.AddHeader("Content-Length", file.Length.ToString());

// Set the ContentType
Response.ContentType = ReturnExtension(file.Extension.ToLower());

// Write the file into the response (TransmitFile is for ASP.NET 2.0. In ASP.NET 1.1 you have to use WriteFile instead)
Response.TransmitFile(file.FullName);

// End the response
Response.End();
}

Может ли кто-нибудь помочь мне получить содержимое таблицы с именем Table в SQL Server 2008 и загрузить ее? У меня есть приведенные выше коды, но в настоящее время он читается из пути, как заставить его читать из запроса SELECT? Имеется в виду запрос "SELECT * FROM Table"



Ответы:


1

Один из способов — использовать SQLDataReader (здесь я не буду объяснять соединения и т. д.: я предполагаю, что вы уже вызывали базу данных) и вручную конкатенировать столбцы.

Обычно для этого используется bcp.exe или, возможно, SMO.

06.09.2011
  • @Mark20: просто погуглите SQLDataReader и посмотрите, как у вас дела. Я не пишу все ваше решение 06.09.2011
  • @gbn - я так хочу, чтобы мы могли пометить эти вещи тегом can-i-haz-the-codez ;) 06.09.2011

  • 2

    Вы можете использовать SqlDataAdapter для извлечения данных и заполнения DataTable на основе данных:

            SqlConnection connection = new SqlConnection(connectionString);
            string query = "SELECT * FROM Table";
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            connection.Open();
            DataTable table = new DataTable();
            try
            {
                adapter.Fill(table);           
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                connection.Close();           
            }
        }
    
    06.09.2011
    Новые материалы

    Создание успешной организации по науке о данных
    "Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

    Технологии и проблемы будущей работы
    Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

    Игорь Минар из Google приедет на #ReactiveConf2017
    Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

    Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
    Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...