|
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Data;
|
using System.Configuration;
|
using System.Data.Common;
|
using HanHe.Utility;
|
|
|
namespace HH.WMS.DAL
|
{
|
public class ComDbType
|
{
|
/// <summary>
|
/// CHAR 字符类型
|
/// </summary>
|
public static DbType CHAR
|
{
|
get
|
{
|
return GetDataType("CHAR");
|
}
|
}
|
|
|
/// <summary>
|
/// FLOAT
|
/// </summary>
|
public static DbType FLOAT
|
{
|
get
|
{
|
return GetDataType("FLOAT");
|
}
|
}
|
|
/// <summary>
|
/// 字符类型
|
/// </summary>
|
public static DbType DOUBLE
|
{
|
get
|
{
|
return GetDataType("DOUBLE");
|
}
|
}
|
|
/// <summary>
|
/// DECIMAL
|
/// </summary>
|
public static DbType DECIMAL
|
{
|
get
|
{
|
return GetDataType("DECIMAL");
|
}
|
}
|
|
|
/// <summary>
|
/// INT 类型 默认32位
|
/// </summary>
|
public static DbType INT
|
{
|
get
|
{
|
return GetDataType("INT");
|
}
|
}
|
|
|
/// <summary>
|
/// INT16
|
/// </summary>
|
public static DbType INT16
|
{
|
get
|
{
|
return GetDataType("int16");
|
}
|
}
|
|
/// <summary>
|
/// INT
|
/// </summary>
|
public static DbType INT32
|
{
|
get
|
{
|
return GetDataType("int32");
|
}
|
}
|
|
/// <summary>
|
/// INT64
|
/// </summary>
|
public static DbType INT64
|
{
|
get
|
{
|
return GetDataType("INT64");
|
}
|
}
|
|
|
/// <summary>
|
/// VARCHAR
|
/// </summary>
|
public static DbType STRING
|
{
|
get
|
{
|
return GetDataType("VARCHAR");
|
}
|
}
|
|
/// <summary>
|
/// DATE
|
/// </summary>
|
public static DbType DATE
|
{
|
get
|
{
|
return GetDataType("DATE");
|
}
|
}
|
|
|
/// <summary>
|
/// CURSOR 仅oracle使用
|
/// </summary>
|
public static DbType CURSOR
|
{
|
get
|
{
|
return GetDataType("CURSOR");
|
}
|
}
|
|
|
/// <summary>
|
/// 针对oracle 传递指针参数的方法
|
/// </summary>
|
/// <param name="command">SQL执行对象</param>
|
/// <param name="name">参数名称</param>
|
/// <param name="dbType">参数值类型</param>
|
public static void AddOrcOutParameter(DbCommand command, string name, System.Data.OracleClient.OracleType dbType)
|
{
|
System.Data.OracleClient.OracleParameter _op = new System.Data.OracleClient.OracleParameter(name, System.Data.OracleClient.OracleType.Cursor);
|
_op.Direction = ParameterDirection.Output;
|
command.Parameters.Add(_op);
|
}
|
|
/// <summary>
|
/// 得到数据类型
|
/// </summary>
|
/// <param name="Type">字段类型</param>
|
private static DbType GetDataType(string Type)
|
{
|
//得到数据类型
|
string DataConnectionType =ConstantBase.APP_DATA_TYPE;
|
//ORACLE 数据库
|
if (DataConnectionType.ToUpper() == ComDbName.ORACLE)
|
{
|
//数据库类型转换为小谢
|
switch (Type.ToLower())
|
{
|
case "char":
|
return DbType.AnsiStringFixedLength;
|
case "nchar":
|
return DbType.StringFixedLength;
|
case "float":
|
return DbType.Single;
|
case "double":
|
return DbType.Double;
|
case "decimal":
|
return DbType.Decimal;
|
case "int16":
|
return DbType.Int16;
|
case "int32":
|
return DbType.Int32;
|
case "int":
|
return DbType.Int32;
|
case "int64":
|
return DbType.Int64;
|
case "varchar":
|
return DbType.AnsiString;
|
case "nvarchar":
|
return DbType.String;
|
case "varchar2":
|
return DbType.String;
|
case "date":
|
return DbType.DateTime;
|
case "number":
|
return DbType.VarNumeric;
|
case "cursor":
|
return DbType.Object;
|
default:
|
return DbType.String;
|
|
}
|
}
|
else if (DataConnectionType.ToUpper() == ComDbName.MSSQL)
|
{
|
switch (Type.ToLower())
|
{
|
case "char":
|
return DbType.String;
|
case "nchar":
|
return DbType.String;
|
case "float":
|
return DbType.Single;
|
case "double":
|
return DbType.Double;
|
case "decimal":
|
return DbType.Decimal;
|
case "int":
|
return DbType.Int32;
|
case "int16":
|
return DbType.Int16;
|
case "int32":
|
return DbType.Int32;
|
case "int64":
|
return DbType.Int64;
|
case "varchar":
|
return DbType.String;
|
case "nvarchar":
|
return DbType.String;
|
case "date":
|
return DbType.DateTime;
|
case "number":
|
return DbType.Decimal;
|
default:
|
return DbType.String;
|
|
}
|
|
}
|
else //MYSQL
|
{
|
switch (Type)
|
{
|
case "char":
|
return DbType.String;
|
case "nchar":
|
return DbType.String;
|
case "float":
|
return DbType.Single;
|
case "double":
|
return DbType.Double;
|
case "decimal":
|
return DbType.Decimal;
|
case "int":
|
return DbType.Int32;
|
case "int16":
|
return DbType.Int16;
|
case "int32":
|
return DbType.Int32;
|
case "int64":
|
return DbType.Int64;
|
case "varchar":
|
return DbType.AnsiString;
|
case "nvarchar":
|
return DbType.String;
|
case "date":
|
return DbType.DateTime;
|
case "number":
|
return DbType.Decimal;
|
default:
|
return DbType.String;
|
|
}
|
}
|
}
|
}
|
}
|