using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Holworth.Utility;

namespace ConsoleApplication22
{
public enum OrclType
{
字段 = 0,
类型 = 1,
长度 = 2
};

class Program
{
/// <summary>
/// dic字典用于存储特征类型在Excel中的列索引,后续得到使用子段列对应的值是便可通过此字典进行抽象
/// </summary>
static Dictionary<string, int> dic = new Dictionary<string, int>();
static void Main(string[] args)
{
string path = @"d:\rskbook.xls";
string fileName = @"Sheet1$";
DataTable dt = ExcelUtil.GetExcelSheetContent(path, fileName);

DataRow dr = dt.Rows[0];
for (int i = 0; i < dt.Columns.Count; i++)
{
string columnName = dr[i].ToString();
if (columnName == OrclType.字段.ToString())
{
dic.Add(columnName, i);
}
if (columnName == OrclType.类型.ToString())
{
dic.Add(columnName, i);
}
if (columnName == OrclType.长度.ToString())
{
dic.Add(columnName, i);
}
}

StringBuilder sb = new StringBuilder();
sb.AppendFormat(string.Format("create table tab1\r\n("));

for (int i = 1; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
int FiledIndex = getColIndex(OrclType.字段);
int TypeIndex = getColIndex(OrclType.类型);
string LengthStr = "";
if (row[TypeIndex].ToString() != "date" && row[getColIndex(OrclType.长度)].ToString().Trim() != "")
LengthStr += "(" + row[getColIndex(OrclType.长度)] + ")";
if (i != dt.Rows.Count - 1)
sb.AppendFormat(string.Format("{0} {1},", row[FiledIndex], row[TypeIndex].ToString() + LengthStr));
else
{
sb.AppendFormat(string.Format("{0} {1}", row[FiledIndex], row[TypeIndex].ToString() + LengthStr));
}
sb.Append("\r\n");
}
sb.AppendFormat(@")");
Console.WriteLine(sb.ToString());
Console.ReadKey();
}

public static int getColIndex(OrclType col)
{
return dic[col.ToString()];
return 0;
}
}
}

自动创建orcl表的更多相关文章

  1. A.CTable 自动创建数据表

    1.添加依赖 <!-- A.CTable 自动创建数据表 --> <dependency> <groupId>com.gitee.sunchenbin.mybati ...

  2. SpringBoot+Mybatis 自动创建数据表(适用mysql)

    Mybatis用了快两年了,在我手上的发展史大概是这样的 第一个阶段 利用Mybatis-Generator自动生成实体类.DAO接口和Mapping映射文件.那时候觉得这个特别好用,大概的过程是这样 ...

  3. SpringBoot使用Hibernate,实现自动创建数据库表【博客数据库设计】

    我们准备设计博客,那就要设计数据库. 我们可以使用Hibernate来自动生成数据库. 博客数据库的结构: 实体类: 博客 Blog 博客分类 Type 博客标签 Tag 博客评论 Comment 用 ...

  4. springboot项目启动-自动创建数据表

    很多时候,我们部署一个项目的时候,需要创建大量的数据表.例如mysql,一般的方法就是通过source命令完成数据表的移植,如:source /root/test.sql.如果我们需要一个项目启动后, ...

  5. 用hibernate自动创建mysql表,添加失败org.hibernate.exception.SQLGrammarException

    今天遇到了一个很坑人的问题,从昨晚一直搞到今天早上,终于发现了,先整理下: [背景]:利用hibernate自动给mysql创建一个表,然后为表里面添加一行记录,非常的简单(当然其中还涉及到sprin ...

  6. Springboot项目启动后自动创建多表关联的数据库与表的方案

    文/朱季谦 在一些项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据 ...

  7. 使用hibernate自动创建Mysql表失败原因

    1.使用 schemaExport(hibernate5.2.3)创建Mysql表 @Test public void testSchemaExport() { ServiceRegistry ser ...

  8. 浅谈ETL架构中ODS的作用以及如何在HaoheDI中自动创建ODS表

    什么是ODS表? 在ETL架构中,源数据很少会直接抽取加载到数据仓库EDW,二者之间往往会设置一个源数据的临时存储区域,存储数据在清洗转换前的原始形态,通常被大家称做操作型数据存储,简称ODS,在Ki ...

  9. ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表

    Spring整合Hibernate Spring的Web项目中,web.xml文件会自动加载,以出现欢迎首页.也可以在这个文件中对Spring的配置文件进行监听,自启动配置文件, 以及之前Struts ...

随机推荐

  1. [TopCoder11557]MatrixPower

    vjudge description 你有一个\(n \times n\)的矩阵\(A\),下标从\(0\)开始,其中\(A_{i,j}=di + q^j\). 给你\(d,q,n,k,s,t\),求 ...

  2. java代码块执行顺序

    父类 public class Father { public Father() { System.out.println("父类构造PUBLIC father"); } stat ...

  3. JavaBean和Map的相互转换

    JavaBean和Map的相互转换 一.JavaBean 1.什么是JavaBean? JavaBean其实就是一种遵循特定写法的类,必须遵循一定的规范: 类必须由public修饰,并且保证有公共的无 ...

  4. 使用nginx-vod-module hls &&dash &&Thumbnail 处理

      备注: 以前写过使用ffmpeg 转换为m3u8进行hls 视频处理,实际上有一个开源的很强大的工具,我们基本不用什么代码就可以实现hls. dash.Thumbnail ,很强大 安装 使用源码 ...

  5. python轻量级ORM---peewee

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/q454684431/article/details/31742367 peewee是一个轻量级的OR ...

  6. {转载}需要同时设置 noatime 和 nodiratime 吗?

    相信对性能.优化这些关键字有兴趣的朋友都知道在 Linux 下面挂载文件系统的时候设置 noatime 可以显著提高文件系统的性能.默认情况下,Linux ext2/ext3 文件系统在文件被访问.创 ...

  7. 一:线性dp

    概念: 动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法. 动态规划是通过拆分问题,定义问题状态和状态之间的关系使得问题能够以递推(或者说分治)的方法去解决. 解决策略: 1)最优化原理:如 ...

  8. HDFS 和 YARN 的 HA 故障切换【转】

    来源:https://blog.csdn.net/u011414200/article/details/50336735 一 非 HDFS HA 集群转换成 HA 集群二 HDFS 的 HA 自动切换 ...

  9. java之 JVM 内存管理详解

    一.JVM结构 根据<java虚拟机规范>规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时 ...

  10. 深入理解java虚拟机,类加载

    1,通过使用静态字段,只有真正定义这个字段的类才会被初始化,(子类不初始化,父类初始化 2,new数组,不初始化 3,通过类来调用一些类的常量,可以不初始化类,(常量在编译期,被优化到NotIniti ...