场景:我有一个从组合框填充的列表。该列表中最多可列出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命令并将其导出。)
我知道这个会很痛苦。先谢谢
答案 0 :(得分:0)
你的问题不是很清楚......文本文件是否包含表格中行的主键值?
如果是这种情况,您的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