急,关于sqlserver导出文本
我想把sqlserver的数据导出到文本中,需要根据列长度设置间隔宽度(间隔宽度=列长-数据的实际宽度),且要使用右对齐的方式,比如表中有三列:COLA   char(5),COLB   decimal(15,2),COLC   decimal(15,2)。则在文本中要显示为: 
 ___XY__________20.32___________0.00 
 ___XZ___________0.32___________0.05   
 其中的 "_ "是为了在这里说明意思用来代替空格的。 
 请问用C#编写导出程序时该怎么进行控制,谢谢。
------解决方案--------------------列长在数据导出前知道吗?   
 还是需要通过数据库的表结构来获得?
------解决方案--------------------考虑用加入空格的方法,当符个数不等于列的预定义长度时就补空格 
 空格的个数=列的长度-列的字符个数
------解决方案--------------------你可以用一下SQL的BCP来导出。 
 msn:lzjian119@hotmail.com
------解决方案--------------------1)使用sp_columns tableName 获取一个表的列属性,其中包括了长度 
 2)使用SELECT Col_Length(tableName,colName)直接获取 
 3)查询SysColumns获取 
------解决方案--------------------楼主指的 列长度是表定义的 
 列的长度  
 还是说实际的数据产生以后 
 占用的页面长度? 
------解决方案--------------------sql帮助里面有的,你试一下xp_cmdshell这个存储过程的用法 
 能解决很多Sql导出文件的问题 
 例: 
 --下例将当前目录内容写入当前服务器目录下名为 dir_out.txt 的文件中。   
 DECLARE @cmd sysname, @var sysname 
 SET @var =  'dir /p ' 
 SET @cmd =  'echo  ' + @var +  ' >  dir_out.txt ' 
 EXEC master..xp_cmdshell @cmd   
------解决方案--------------------中间空格用制表符 "\t "表示