C # с использованием таблицы списка и текстового файла для выполнения запроса SQL, а затем экспортировать - PullRequest
0 голосов
/ 08 декабря 2009

Сценарий: у меня есть таблица списка, заполняемая из списка. Эта таблица списка может содержать до 50 вещей, перечисленных в ней (то, что перечислено в списке, это имена столбцов). Сложная часть: у меня есть текстовый файл, который соответствует одному полю в таблице SQL. X1, X2, X3 - элементы списка.

Так что мне в основном нужно:

select <line in text file>, from <blah> where id = object_id('table')  
export <x2>,<x3>,<x4>,<x5>,<x6>,C:\Comma.text

Мне не нужна помощь в создании списка или соединения SQL.

В основном, как мне вывести мой список в виде строк (независимо от того, какой порядок выбран для представления того, что было выбрано в этом порядке, и команды SQL для сопоставления на основе текстового файла и его экспорта).

Я знаю, что это будет боль. Спасибо за преимущество

1 Ответ

0 голосов
/ 08 декабря 2009

Ваш вопрос не очень понятен ... содержит ли текстовый файл значения первичного ключа для строк в таблице?

Если это так, ваш псевдокод SQL будет выглядеть так:

select <selectedColumn1>, <selectedColumn2>,...  
from yourTable  
where primarykeyColumn in (<yourTextFileValues>)  

Что касается того, как получить выбранные элементы из списка в строку и отформатировать инструкцию SQL, чтобы выбрать только те строки из базы данных для экспорта, вот один из способов:

string[] selectedColumns = new string[myListBox.SelectedItems.Count];
for(int i = 0; i < myListBox.SelectedItems.Count; i++)
{
    selectedColumns[i] = myListBox.SelectedItems[i].ToString();
}
string exportColumns = string.Join(",", selectedColumns);

//format your sql statement
string sqlStatement = string.Format("select {0} from YourTable WHERE blah=blah2", 
                                     exportColumns);

Если все содержимое списка считается «выбранным» для экспорта, просто замените myListBox.SelectedItems на myListBox.Items

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