📄 builderdal.cs
字号:
/// <returns></returns>
public string CreatGetModel()
{
if (ModelSpace == "")
{
//ModelSpace = "ModelClassName"; ;
}
StringPlus strclass = new StringPlus();
strclass.Append("");
strclass.AppendSpaceLine(2, "/// <summary>");
strclass.AppendSpaceLine(2, "/// 得到一个对象实体");
strclass.AppendSpaceLine(2, "/// </summary>");
strclass.AppendSpaceLine(2, "public " + ModelSpace + " GetModel(" + LTP.CodeHelper.CodeCommon.GetInParameter(Keys) + ")");
strclass.AppendSpaceLine(2, "{");
strclass.AppendSpaceLine(3, KeysNullTip);
strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
strclass.AppendSpaceLine(3, "strSql.Append(\"select " + Fieldstrlist + " from " + _tablename + " \");");
strclass.AppendSpaceLine(3, "strSql.Append(\" where " + GetWhereExpression(Keys) + "\");");
strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
strclass.AppendSpaceLine(3, "DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());");
strclass.Append(GetPreParameter(Keys));
strclass.AppendSpaceLine(3, "" + ModelSpace + " model=null;");
strclass.AppendSpaceLine(3, "using (IDataReader dataReader = db.ExecuteReader(dbCommand))");
strclass.AppendSpaceLine(3, "{");
strclass.AppendSpaceLine(4, "if(dataReader.Read())");
strclass.AppendSpaceLine(4, "{");
strclass.AppendSpaceLine(5, "model=ReaderBind(dataReader);");
strclass.AppendSpaceLine(4, "}");
strclass.AppendSpaceLine(3, "}");
strclass.AppendSpaceLine(3,"return model;");
strclass.AppendSpaceLine(2, "}");
return strclass.Value;
}
/// <summary>
/// 得到GetList()的代码
/// </summary>
/// <param name="_tablename"></param>
/// <param name="_key"></param>
/// <returns></returns>
public string CreatGetList()
{
StringPlus strclass = new StringPlus();
strclass.AppendSpaceLine(2, "/// <summary>");
strclass.AppendSpaceLine(2, "/// 获得数据列表");
strclass.AppendSpaceLine(2, "/// </summary>");
strclass.AppendSpaceLine(2, "public DataSet GetList(string strWhere)");
strclass.AppendSpaceLine(2, "{");
strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
strclass.AppendSpace(3, "strSql.Append(\"select ");
strclass.AppendLine(Fieldstrlist + " \");");
strclass.AppendSpaceLine(3, "strSql.Append(\" FROM " + TableName + " \");");
strclass.AppendSpaceLine(3, "if(strWhere.Trim()!=\"\")");
strclass.AppendSpaceLine(3, "{");
strclass.AppendSpaceLine(4, "strSql.Append(\" where \"+strWhere);");
strclass.AppendSpaceLine(3, "}");
strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
strclass.AppendSpaceLine(3, "return db.ExecuteDataSet(CommandType.Text, strSql.ToString());");
strclass.AppendSpaceLine(2, "}");
return strclass.Value;
}
/// <summary>
/// 得到GetList()的代码
/// </summary>
/// <param name="_tablename"></param>
/// <param name="_key"></param>
/// <returns></returns>
public string CreatGetListByPageProc()
{
StringPlus strclass = new StringPlus();
strclass.AppendSpaceLine(2, "/*");
strclass.AppendSpaceLine(2, "/// <summary>");
strclass.AppendSpaceLine(2, "/// 分页获取数据列表");
strclass.AppendSpaceLine(2, "/// </summary>");
strclass.AppendSpaceLine(2, "public DataSet GetList(int PageSize,int PageIndex,string strWhere)");
strclass.AppendSpaceLine(2, "{");
strclass.AppendSpaceLine(3,"Database db = DatabaseFactory.CreateDatabase();");
strclass.AppendSpaceLine(3,"DbCommand dbCommand = db.GetStoredProcCommand(\"UP_GetRecordByPage\");");
strclass.AppendSpaceLine(3,"db.AddInParameter(dbCommand, \"tblName\", DbType.AnsiString, \""+TableName+"\");");
strclass.AppendSpaceLine(3, "db.AddInParameter(dbCommand, \"fldName\", DbType.AnsiString, \"" + _key + "\");");
strclass.AppendSpaceLine(3,"db.AddInParameter(dbCommand, \"PageSize\", DbType.Int32, PageSize);");
strclass.AppendSpaceLine(3,"db.AddInParameter(dbCommand, \"PageIndex\", DbType.Int32, PageIndex);");
strclass.AppendSpaceLine(3,"db.AddInParameter(dbCommand, \"IsReCount\", DbType.Boolean, 0);");
strclass.AppendSpaceLine(3,"db.AddInParameter(dbCommand, \"OrderType\", DbType.Boolean, 0);");
strclass.AppendSpaceLine(3, "db.AddInParameter(dbCommand, \"strWhere\", DbType.AnsiString, strWhere);");
strclass.AppendSpaceLine(3, "return db.ExecuteDataSet(dbCommand);");
strclass.AppendSpaceLine(2, "}*/");
return strclass.Value;
}
#region 生成对象实体绑定数据
/// <summary>
/// 生成对象实体绑定数据
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public string CreatReaderBind()
{
if (ModelSpace == "")
{
//ModelSpace = "ModelClassName"; ;
}
StringPlus strclass = new StringPlus();
StringPlus strclass1 = new StringPlus();
strclass.AppendLine("");
strclass.AppendSpaceLine(2, "/// <summary>");
strclass.AppendSpaceLine(2, "/// 对象实体绑定数据");
strclass.AppendSpaceLine(2, "/// </summary>");
strclass.AppendSpaceLine(2, "public " + ModelSpace + " ReaderBind(IDataReader dataReader)");
strclass.AppendSpaceLine(2, "{");
strclass.AppendSpaceLine(3, ModelSpace + " model=new " + ModelSpace + "();");
bool isobj = false;
foreach (ColumnInfo field in Fieldlist)
{
string columnName = field.ColumnName;
string columnType = field.TypeName;
bool IsIdentity = field.IsIdentity;
string Length = field.Length;
switch (CodeCommon.DbTypeToCS(columnType))
{
case "int":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(int)ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "long":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(long)ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "decimal":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(decimal)ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "DateTime":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(DateTime)ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "string":
{
strclass1.AppendSpaceLine(3, "model." + columnName + "=dataReader[\"" + columnName + "\"].ToString();");
}
break;
case "bool":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(bool)ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "byte[]":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "=(byte[])ojb;");
strclass1.AppendSpaceLine(3, "}");
}
break;
case "Guid":
{
isobj = true;
strclass1.AppendSpaceLine(3, "ojb = dataReader[\"" + columnName + "\"];");
strclass1.AppendSpaceLine(3, "if(ojb != null && ojb != DBNull.Value)");
strclass1.AppendSpaceLine(3, "{");
strclass1.AppendSpaceLine(4, "model." + columnName + "= new Guid(ojb.ToString());");
strclass1.AppendSpaceLine(3, "}");
}
break;
default:
strclass1.AppendSpaceLine(3, "model." + columnName + "=dataReader[\"" + columnName + "\"].ToString();\r\n");
break;
}
}
if (isobj)
{
strclass.AppendSpaceLine(3, "object ojb; ");
}
strclass.Append(strclass1.ToString());
strclass.AppendSpaceLine(3, "return model;");
strclass.AppendSpaceLine(2, "}");
return strclass.Value;
}
public string CreatGetListArray()
{
string strList = "List<" + ModelSpace + ">";
StringPlus strclass = new StringPlus();
strclass.AppendSpaceLine(2, "/// <summary>");
strclass.AppendSpaceLine(2, "/// 获得数据列表(比DataSet效率高,推荐使用)");
strclass.AppendSpaceLine(2, "/// </summary>");
strclass.AppendSpaceLine(2, "public " + strList + " GetListArray(string strWhere)");
strclass.AppendSpaceLine(2, "{");
strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
strclass.AppendSpace(3, "strSql.Append(\"select ");
strclass.AppendLine(Fieldstrlist + " \");");
strclass.AppendSpaceLine(3, "strSql.Append(\" FROM " + TableName + " \");");
strclass.AppendSpaceLine(3, "if(strWhere.Trim()!=\"\")");
strclass.AppendSpaceLine(3, "{");
strclass.AppendSpaceLine(4, "strSql.Append(\" where \"+strWhere);");
strclass.AppendSpaceLine(3, "}");
strclass.AppendSpaceLine(3, strList + " list = new " + strList + "();");
strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
strclass.AppendSpaceLine(3, "using (IDataReader dataReader = db.ExecuteReader(CommandType.Text, strSql.ToString()))");
strclass.AppendSpaceLine(3, "{");
strclass.AppendSpaceLine(4, "while (dataReader.Read())");
strclass.AppendSpaceLine(4, "{");
strclass.AppendSpaceLine(5, "list.Add(ReaderBind(dataReader));");
strclass.AppendSpaceLine(4, "}");
strclass.AppendSpaceLine(3, "}");
strclass.AppendSpaceLine(3, "return list;");
strclass.AppendSpaceLine(2, "}");
return strclass.Value;
}
#endregion
#endregion
#region CSToProcType
/// <summary>
/// 企业库数据库字段对应
/// </summary>
/// <param name="cstype"></param>
/// <returns></returns>
private static string CSToProcType(string cstype)
{
string ProcType = cstype;
switch (cstype.Trim().ToLower())
{
case "string":
case "nvarchar":
case "nchar":
case "ntext":
ProcType = "String";
break;
case "text":
case "char":
case "varchar":
ProcType = "AnsiString";
break;
case "datetime":
case "smalldatetime":
ProcType = "DateTime";
break;
case "smallint":
ProcType = "Int16";
break;
case "tinyint":
ProcType = "Byte";
break;
case "int":
ProcType = "Int32";
break;
case "bigint":
case "long":
ProcType = "Int64";
break;
case "float":
ProcType = "Double";
break;
case "real":
case "numeric":
case "decimal":
ProcType = "Decimal";
break;
case "money":
case "smallmoney":
ProcType = "Currency";
break;
case "bool":
case "bit":
ProcType = "Boolean";
break;
case "binary":
case "varbinary":
ProcType = "Binary";
break;
case "image":
ProcType = "Image";
break;
case "uniqueidentifier":
ProcType = "Guid";
break;
case "timestamp":
ProcType = "String";
break;
default:
ProcType = "String";
break;
}
return ProcType;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -