Какой самый простой способ извлечь все данные из таблицы и сохранить их обратно в .NET 3.5? - PullRequest
0 голосов
/ 16 марта 2010

У меня есть несколько таблиц, содержащих некоторые основные (связанные с бизнесом) картографические данные. Какой самый простой способ загрузить данные из этих таблиц, а затем сохранить измененные значения обратно. (все данные должны быть заменены в таблицах)

Об ORM не может быть и речи, поскольку я хотел бы избежать создания доменных объектов для каждой таблицы.

Фактическое редактирование данных не является проблемой. (он экспортируется в Excel, где данные редактируются, затем файл загружается с измененными данными)

Технология .NET 3.5 (ASP.NET MVC) и SQL Server 2005.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 16 марта 2010

Пакет служб SSIS будет достаточно эффективным для того, что вы делаете.

Поскольку в любом случае все выполняется вне приложения и электронной таблицы Excel, это будет проще, чем что-либо делать в MVC.

Если вы действительно хотите сделать его удобным для конечных пользователей, предоставьте им способ загрузить файл, поместите его в папку где-нибудь и убедитесь, что вы запланировали задачу File Watcher в SSIS * 1008. *.

1 голос
/ 17 марта 2010

Вы можете написать такой простой код, как этот. http://davidhayden.com/blog/dave/archive/2006/03/08/2877.aspx

// Get data in a DataTable
DataTable table = new DataTable();

string northwindConnectionString = "...Northwind...";

using (SqlConnection connection =
    new SqlConnection(northwindConnectionString))
{
    using (SqlCommand command = connection.CreateCommand())
    {
        command.CommandText = "SELECT * FROM Categories";

        connection.Open();
        using (IDataReader dr = command.ExecuteReader
                  (CommandBehavior.CloseConnection))
        {
            table.Load(dr);
        }
    }
}

// Upload DataTable to a Database Table
string destinationConnectionString = "...";

using (SqlBulkCopy copy =
    new SqlBulkCopy(destinationConnectionString))
{
    copy.DestinationTableName = "Categories";
    copy.WriteToServer(table);
}
1 голос
/ 16 марта 2010

Поскольку вы используете SQL Server 2005, я предлагаю возвращать результаты в виде XML вместо стандартных наборов строк. Используйте предложение FOR XML. Затем измените этот XML и примените к SQL Server обратно. Пожалуйста, смотрите больше подробности

ДОБАВЛЕНО:

О excel..hm..use dataConnection (поставщик OLEDB для excel), чтобы открыть этот файл xls и затем преобразовать его в XML. XML применяется к SQL Server

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...