自动创建orcl表
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表的更多相关文章
- A.CTable 自动创建数据表
1.添加依赖 <!-- A.CTable 自动创建数据表 --> <dependency> <groupId>com.gitee.sunchenbin.mybati ...
- SpringBoot+Mybatis 自动创建数据表(适用mysql)
Mybatis用了快两年了,在我手上的发展史大概是这样的 第一个阶段 利用Mybatis-Generator自动生成实体类.DAO接口和Mapping映射文件.那时候觉得这个特别好用,大概的过程是这样 ...
- SpringBoot使用Hibernate,实现自动创建数据库表【博客数据库设计】
我们准备设计博客,那就要设计数据库. 我们可以使用Hibernate来自动生成数据库. 博客数据库的结构: 实体类: 博客 Blog 博客分类 Type 博客标签 Tag 博客评论 Comment 用 ...
- springboot项目启动-自动创建数据表
很多时候,我们部署一个项目的时候,需要创建大量的数据表.例如mysql,一般的方法就是通过source命令完成数据表的移植,如:source /root/test.sql.如果我们需要一个项目启动后, ...
- 用hibernate自动创建mysql表,添加失败org.hibernate.exception.SQLGrammarException
今天遇到了一个很坑人的问题,从昨晚一直搞到今天早上,终于发现了,先整理下: [背景]:利用hibernate自动给mysql创建一个表,然后为表里面添加一行记录,非常的简单(当然其中还涉及到sprin ...
- Springboot项目启动后自动创建多表关联的数据库与表的方案
文/朱季谦 在一些项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据 ...
- 使用hibernate自动创建Mysql表失败原因
1.使用 schemaExport(hibernate5.2.3)创建Mysql表 @Test public void testSchemaExport() { ServiceRegistry ser ...
- 浅谈ETL架构中ODS的作用以及如何在HaoheDI中自动创建ODS表
什么是ODS表? 在ETL架构中,源数据很少会直接抽取加载到数据仓库EDW,二者之间往往会设置一个源数据的临时存储区域,存储数据在清洗转换前的原始形态,通常被大家称做操作型数据存储,简称ODS,在Ki ...
- ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表
Spring整合Hibernate Spring的Web项目中,web.xml文件会自动加载,以出现欢迎首页.也可以在这个文件中对Spring的配置文件进行监听,自启动配置文件, 以及之前Struts ...
随机推荐
- 博客网站-Hexo+GitHub+Netlify
Hexo+GitHub+Netlify一站式搭建属于自己的博客网站 https://www.cnblogs.com/kerbside/p/10130606.html https://hhongwen. ...
- 折半查找(C语言)
一.二分查找 在C和C++里,二分查找是针对有序数组所用的一种快速查找元素的方法. 二.二分查找的条件以及优缺点 条件:针对有序数组(元素从小到大或从大到小) 优点:查询速度较快,时间复杂度为O(n) ...
- LG4719 【模板】动态dp 及 LG4751 动态dp【加强版】
题意 题目描述 给定一棵\(n\)个点的树,点带点权. 有\(m\)次操作,每次操作给定\(x,y\),表示修改点\(x\)的权值为\(y\). 你需要在每次操作之后求出这棵树的最大权独立集的权值大小 ...
- streamsets http client && json parse && local fs 使用
streamsets 包含了丰富的组件,origin processer destination 测试例子为集成了http client 以及json 处理 启动服务 使用docker 创建pipel ...
- HBase,region以及HFile概念
什么是HBase的Region? 大家一定对一个词不陌生:域分区,这个域就是Region:Region定义为key的一个取值范围的子集的数据载体:比如常见的域分区有固定大小分区,比如1-10一个reg ...
- ProcessHelp 进程类(启动,杀掉,查找)
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- CentOS 7 安装Memcached服务
Memcached 简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站 ...
- popup控件代码示例
1.jsp页面input框中的代码 <td class="value"> <input name="demos[0].id" type=&qu ...
- redis事务,分布式锁
事务:一组命令集合 主要命令multi 和exec multi set a 1 sadd s1 a ...... exec 错误处理 (1)语法错误 127.0.0.1:6379> multi ...
- jython研究笔记
jython目前只支持python2,不支持python3. python中使用第三方包的话需要重新设置lib的地址. public void getHtmlByTxt(String path) { ...