codesmith oracle 64,CodeSmith OracleModel写法
Name:OracleModel
Author: 小谈
Description: 根据指定的数据库生成业务逻辑类模板
--%>
///
// File: .cs
// Description: Enter summary here after generation.
// ---------------------
// Copyright Our Client
// ---------------------
// History
// Original Version
///
using System;
namespace
{
///
/// 实体类(属性说明自动提取数据库字段的描述信息)
///
[Serializable]
public class
{
public ()
{}
#region Model
#endregion
}
}
// My methods here.
//截取字符串前面的小数点只显示后面的字符串
public string GetDecimal(TableSchema table)
{
return table.Name.Substring(table.Name.LastIndexOf(".")+1).ToString();
}
//判断数据类型是否为空
public string IsNull(ColumnSchema column)
{
if(column.AllowDBNull)
{
return "?";
}
return "";
}
//把字符串转换成小写
public string IsReplace(string str)
{
return str.ToLower();
}
#region 拼装字符串
#region 拼装初始值
public string GetVariables()
{
string str=string.Empty;
for(int i=0;i
{
if(IsNull(this.SourceTable.Columns[i])=="")
{//数据类不型为空,数据类型不要加?
str+=string.Format("private {0} _{1};",
GetOracleDbType(this.SourceTable.Columns[i]),
IsReplace(this.SourceTable.Columns[i].Name));
}
else
{//为空时加问号
if(GetOracleDbType(this.SourceTable.Columns[i])=="string")
{//特殊情况数据类型是string类型不管为空,还是不能为空不能加?
str+=string.Format("private {0} _{1};",
GetOracleDbType(this.SourceTable.Columns[i]),
IsReplace(this.SourceTable.Columns[i].Name));
}
else
{//否则数据类型是非空类型后面带问号
str+=string.Format("private {0}? _{1};",
GetOracleDbType(this.SourceTable.Columns[i]),
IsReplace(this.SourceTable.Columns[i].Name));
}
}
if(i!=(this.SourceTable.Columns.Count-1))
{
str+="/r/n ";
}
}
return str;
}
#endregion
#region 拼装方法
public string GetMethod()
{
string str=string.Empty;
string a="{";
string b="}";
for(int i=0;i
{
if(IsNull(this.SourceTable.Columns[i])=="")
{//数据类不型为空,数据类型不要加?
//拼装格式
str+="/// /r/n ";
str+="/// /r/n ";
str+="/// /r/n ";
str+=string.Format("public {0} {1}",
GetOracleDbType(this.SourceTable.Columns[i]),
this.SourceTable.Columns[i].Name);
str+="/r/n {/r/n ";
str+=string.Format("set{1} _{0} = value;{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n ";
str+=string.Format("get{1}return _{0};{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n }";
}
else
{//为空时加问号
if(GetOracleDbType(this.SourceTable.Columns[i])=="string")
{//特殊情况数据类型是string类型不管为空,还是不能为空不能加?
//拼装格式
str+="/// /r/n ";
str+="/// /r/n ";
str+="/// /r/n ";
str+=string.Format("public {0} {1}",
GetOracleDbType(this.SourceTable.Columns[i]),
this.SourceTable.Columns[i].Name);
str+="/r/n {/r/n ";
str+=string.Format("set{1} _{0} = value;{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n ";
str+=string.Format("get{1}return _{0};{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n }";
}
else
{//否则数据类型是非空类型后面带问号
//拼装格式
str+="/// /r/n ";
str+="/// /r/n ";
str+="/// /r/n ";
str+=string.Format("public {0}? {1}",
GetOracleDbType(this.SourceTable.Columns[i]),
this.SourceTable.Columns[i].Name);
str+="/r/n {/r/n ";
str+=string.Format("set{1} _{0} = value;{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n ";
str+=string.Format("get{1}return _{0};{2}",IsReplace(this.SourceTable.Columns[i].Name),a,b);
str+="/r/n }";
}
}
if(i!=(this.SourceTable.Columns.Count-1))
{
str+="/r/n ";
}
}
return str;
}
#endregion
#endregion
#region 判断数据类型
#region 根据列获取数据库的类型
///
///根据列获取数据库的类型
///
public string GetOracleDbType(ColumnSchema column)
{
switch (column.NativeType)
{
case "Char": case "char": case "CHAR":
case "varchar2": case "VarChar2": case "Varchar2": case "VARCHAR2":
case "nchar": case "Nchar": case "NCHAR":
case "nvarchar2": case "NVarChar2": case "NVARCHAR2":
case "Long": case "LONG": case "long":
case "Raw": case "RAW": case "raw":
case "Long raw": case "LONG RAW": case "long raw":
case "Rowid": case "rowid": case "ROWID":
case "Blob": case "blob": case "BLOB":
case "Clob": case "clob": case "CLOB":
case "nclob": case "NCLOB": case "Nclob":
case "Bfile": case "bfile": case "BFILE":
case "Urowid": case "urowid": case "UROWID":
return "string";
case "number": case "Number": case "NUMBER":
return "int";
case "double": case "Double": case "DOUBLE":
case "float": case "Float": case "FLOAT":
return "decimal";
case "DateTime": case "datetime": case "DATETIME":
case "Date": case "date": case "DATE":
return "DateTime";
default: return "__UNKNOWN__" + column.NativeType;
}
}
#endregion
#endregion
codesmith oracle 64,CodeSmith OracleModel写法相关推荐
- 应用程序连接Oracle rac的URL写法
http://blog.csdn.net/hu_shengyang/article/details/7043271 Oracle RAC 集群示意图 RAC,全称real application cl ...
- PL/SQL Developer跑在Oracle 64位数据库上初始化错误
安装完Oracle(64位).PL/SQL Developer后运行PL/SQL出现如下的错误: 网上查资料说,我的PL/SQL Developer与ORACLE不兼容,即PL/SQL不支持64位的O ...
- 64位php oracle,64位系统无法加载PHP的oracle扩展问题
最开始以为64位系统,用64位的客户端,就是那个instantclient 可是安好以后加载不了,换成32位的就行了,估计是因为我的apache是32位的,它就只能加载32位扩展吧. 附带oracle ...
- oracle 64位客户端_LabVIEW读取Oracle数据库-开题
最近做一个项目,工厂客户使用的Mes数据库是Oracle. 以前做医院摆药机系统时,和His对接用过Oracle数据库,主要用视图交互数据.然后,好久没有再使用过. 这次使用Oracle的时候,有几个 ...
- oracle的标准写法,oracle 表连接特有写法与标准写法
oracle里表连接支持标准写法,但也有oracle特殊的写法,这两种写法在某些场景下会有差异,推荐使用标准写法,这里只是介绍表连接标准语法及了解oracle的特殊写法. 标准连接语法: select ...
- 64位电脑 装32位oracle,64位Windows可以安装32位的Oracle吗
嘿服类 回答数:37 | 被采纳数:91 2017-04-21 07:22:43 64位的win7 完全可以安装32位的oracle. 安装方法如下: 首先,要解除oracle安装的windows ...
- plsql检测不到oracle,64位ORACLE客户端上plsql无法识别ORACLE_HOME解决方案
1.问题 Plsql到目前为止只有32位的程序,而大多数的桌面系统基本都是使用64位的windows操作系统,在64位的windows上,大多数情况 下也是安装64位的ORACLE client程序, ...
- codesmith php模板,CodeSmith 基本语法-CodeTemplate 指令
基本语法-CodeTemplate 指令 前面的几篇介绍了使用 CodeSmith 模板自动生成代码和编写代码模板的基本知识.也说过 CodeSmith最核心的部分是代码模板,从本篇开始介绍 Code ...
- oracle 64位客户端_oracle的管理工具toad如何设置命令补全
概述 网上有很多关于设置toad命令行补全的文章,发现根本不好使,下面分享一下可行的设置方法 一.安装oracle客户端 1.到ORACLE 网站下载instantclient客户端 https:// ...
- How to setup linked servers for SQL Server and Oracle 64 bit client
感谢作者:Tim Ford. 图文并茂. 原帖地址: http://www.mssqltips.com/sqlservertip/1433/how-to-setup-linked-servers-fo ...
最新文章
- js——全选框 checkbox
- Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和
- 博客园代码高亮显示教程
- jvm 崩溃日志设置_JVM致命错误日志(hs_err_pid.log)分析(转载)
- Flume 中文入门手冊
- 4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例
- 如何占用计算机内存,电脑内存占用太高怎么办 教你电脑内存不够用解决方法...
- 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.4 示例:使用按钮集装饰单选框...
- Linux安装Bitbucket7.6.0教程-绝对干货满满
- 号称36个月不卡顿!网友:就是有点贵
- SDWebImage常用方法及原理
- 近期有哪些值得读的QA论文?
- 关于浮动-float
- Android NDK 剥离符号信息
- win10原版操作系统安装过程【超详细】
- 软件项目文档——WBS
- 欢乐时光病毒原码分析
- 【工作笔记】从零开始学ExtJs6(四)—— 常用api小记
- 联想服务器加装显卡无显示,标配11201355主板的启天M4330在 Win8系统加装独立显卡“无显无报警”...
- Python—字典的操作
热门文章
- CUDA10,Torch安装解决NOTFOUND CUDA_cublas_device_LIBRARY,Ubuntu16.04安装torch遇到的错误
- pcb天线和纯铜天线_PCB天线是什么
- 物联网NodeMCU刷写AT固件
- 近视矫正手术:准分子激光,飞秒,全飞秒
- GreatRiver研讨会 | ARINC 818的应用及发展
- loadrunner+fiddler代理录制
- java调用cmd且隐藏窗口,最后关闭窗口
- fixdown down,一个时代的终结。
- AB工业计算机编程软件,罗克韦尔/AB VersaView 5100 工业监视器
- 深度 | 面目全非自动化