QueryInfo info = new QueryInfo();
info.CustomSQL = @" select
column_name,
data_type,
data_precision,
data_scale,
nvl((select t_s.comments
from all_col_comments t_s
where t_s.column_name = t.column_name
and t_s.table_name ='ccr_company_fundamental'
),column_name)
comments
from all_tab_columns t
where
table_name = upper('ccr_company_fundamental')
and data_type='NUMBER'";
DataTable table1 = Dao.ExcuteDataSet(info).Tables[0];
StringBuilder sb1 = new StringBuilder();
string type = "";
int scale = 0;
string real_type = "";
int index = 0;
string column_name = "";
foreach (DataRow row in table1.Rows)
{
column_name = row["COLUMN_NAME"].ToString();
type = row["DATA_TYPE"].ToString();
int.TryParse(row["data_scale"].ToString(), out scale);

switch (type)
{
case "NUMBER":
if (scale <= 0)
sb1.AppendLine(string.Format("new Excel2DataMap {{ MapIndex ={0}, ColumnName = '{1}', DataType = ConstEnum.DataTypeDimesion.整形 }},", index++, column_name));
else
{
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.浮点型 }}),", index++, column_name));
}
break;

case "NVARCHAR2":
case "VARCHAR2":
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.字符串 }}),", index++, column_name));
break;
case "DATE":
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.日期 }}),", index++, column_name));
break;

}

}

return;

etl 获取列数据类型的更多相关文章

  1. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  2. GridView控件RowDataBound事件中获取列字段值的几种途径

    前台: <asp:TemplateField HeaderText="充值总额|账号余额"> <ItemTemplate> <asp:Label ID ...

  3. 根据Excel列类型获取列的值

    using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.SS.UserModel; us ...

  4. 从服务器端获取列和数据动态创建Ext.grid.EditorGridPanel

    1.添加列的方法 var addColumn = function(){ this.fields = ''; this.columns = ''; this.addColumns=function(n ...

  5. Python标准库映射类型与可散列数据类型的关系

    这里有两个概念似懂非懂,在这里明确一下: 映射类型: Python>3.2中,collections.abc模块有Mapping和MutableMapping两个抽象基类(Python2.6~3 ...

  6. SQLServer中查询表结构(表主键 、列说明、列数据类型、所有表名)的Sql语句

    SQLServer中查询表结构(表主键 .列说明.列数据类型.所有表名)的Sql语句 1.查询数据库中的所有表名称: SELECT name FROM SysObjects Where XType=' ...

  7. Oracle增加一列、修改一列数据类型

    Oracle增加一列.修改一列数据类型: 添加一列: alter   table   A   add( CFYJSNR  varchar2(20)); 修改列: alter  table A  ren ...

  8. C# 根据列名获取列值

    /// <summary> /// 根据列名获取列值 /// </summary> /// <param name="colName">< ...

  9. 根据GridView模板里的列名获取列索引

    以前Insus.NET在写过一篇<在Gridview控件中根据Field Name来取得对应列索引> http://www.cnblogs.com/insus/archive/2010/0 ...

随机推荐

  1. Uncaught TypeError: this.canvas.getContext is not a function

    /**************************************************************************** * Uncaught TypeError: ...

  2. hdu 1937 Finding Seats

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  3. Communication System(动态规划)

    个人心得:百度推荐的简单DP题,自己做了下发现真得水,看了题解发现他们的思维真得比我好太多太多, 这是一段漫长的锻炼路呀. 关于这道题,我最开始用DP的思路,找子状态,发现自己根本就不会找DP状态数组 ...

  4. 系列文章----.Net程序员学用Oracle系列

    .Net程序员学用Oracle系列(18):PLSQL Developer 攻略 .Net程序员学用Oracle系列(17):数据库管理工具(SQL Plus) .Net程序员学用Oracle系列(1 ...

  5. angular +H5 上传图片 与预览图片

    //index.html <form class="form-horizontal"> <div class="panel panel-default& ...

  6. hdu 1028 && hdu 1398 && hdu 1085 && hdu 1171 ——生成函数

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1028 就是可以用任意个1.2.3....,所以式子写出来就是这样:(1+x+x^2+...)(1+x^2+ ...

  7. 简谈Tomcat调优

    一.Tomcat和apache的比较 共同点:apache和tomcat都是属于web服务器. 不同点:他们是两个不同的容器,承载的东西不一样,tomcat属于一种java应用的服务 器,只针对jav ...

  8. 8、Selenium+python安装HTMLTestRunner插件

    1.打开网址:http://tungwaiyip.info/software/HTMLTestRunner.html,下载HTMLTestRunner.py 2.copy其HTMLTestRunner ...

  9. CentOS7.2 GitLab部署

    1.使用安装包的方式安装gitlab # vim /etc/yum.repos.d/gitlib.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirr ...

  10. docker镜像的导入和导出

    启动命令 docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3 docker run -d -p 8080:80 gitlab/gitlab-ce ...