📄 builderframeone.cs
字号:
namespace LTP.CodeBuild
{
using LTP.BuilderModel;
using LTP.CodeHelper;
using LTP.IDBO;
using LTP.Utility;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
public class BuilderFrameOne : BuilderFrame
{
private string _procprefix;
private INIFile cfgfile;
private string cmcfgfile = (Application.StartupPath + @"\cmcfg.ini");
public BuilderFrameOne(IDbObject idbobj, string dbName, string tableName, string modelName, List<ColumnInfo> fieldlist, List<ColumnInfo> keys, string nameSpace, string folder, string dbHelperName)
{
base.dbobj = idbobj;
base.DbName = dbName;
base.TableName = tableName;
base.ModelName = modelName;
base.NameSpace = nameSpace;
base.Folder = folder;
base.DbHelperName = dbHelperName;
base._dbtype = idbobj.DbType;
base.Fieldlist = fieldlist;
base.Keys = keys;
foreach (ColumnInfo info in keys)
{
base._key = info.ColumnName;
base._keyType = info.TypeName;
if (info.IsIdentity)
{
base._key = info.ColumnName;
base._keyType = CodeCommon.DbTypeToCS(info.TypeName);
break;
}
}
}
private string CreatAddParam()
{
StringBuilder builder = new StringBuilder();
StringBuilder builder2 = new StringBuilder();
StringBuilder builder3 = new StringBuilder();
StringPlus plus = new StringPlus();
StringPlus plus2 = new StringPlus();
builder.Append("\r\n");
builder.Append(base.Space(2) + "/// <summary>\r\n");
builder.Append(base.Space(2) + "/// 增加一条数据\r\n");
builder.Append(base.Space(2) + "/// </summary>\r\n");
string str = "void";
if (base.IsHasIdentity)
{
str = "int";
}
builder.Append(base.Space(2) + "public " + str + " Add()\r\n");
builder.Append(base.Space(2) + "{\r\n");
builder.Append(base.Space(3) + "StringBuilder strSql=new StringBuilder();\r\n");
builder.Append(base.Space(3) + "strSql.Append(\"insert into " + base.TableName + "(\");\r\n");
builder2.Append(base.Space(3) + "strSql.Append(\"");
int num = 0;
foreach (ColumnInfo info in base.Fieldlist)
{
string columnName = info.ColumnName;
string typeName = info.TypeName;
bool isIdentity = info.IsIdentity;
string length = info.Length;
if (info.IsIdentity)
{
str = CodeCommon.DbTypeToCS(typeName);
}
else
{
plus.AppendSpaceLine(5, "new " + base.DbParaHead + "Parameter(\"@" + columnName + "\", " + base.DbParaDbType + "." + CodeCommon.DbTypeLength(base._dbtype, typeName, length) + "),");
builder2.Append(columnName + ",");
builder3.Append("@" + columnName + ",");
plus2.AppendSpaceLine(3, string.Concat(new object[] { "parameters[", num, "].Value = ", columnName, ";" }));
num++;
}
}
builder2.Remove(builder2.Length - 1, 1);
builder3.Remove(builder3.Length - 1, 1);
if (plus.Value.IndexOf(",") > 0)
{
plus.DelLastComma();
}
builder2.Append(")\");\r\n");
builder.Append(builder2.ToString());
builder.Append(base.Space(3) + "strSql.Append(\" values (\");\r\n");
builder.Append(base.Space(3) + "strSql.Append(\"" + builder3.ToString() + ")\");\r\n");
if (base.IsHasIdentity)
{
builder.Append(CodeCommon.Space(3) + "strSql.Append(\";select @@IDENTITY\");\r\n");
}
builder.Append(base.Space(3) + "" + base.DbParaHead + "Parameter[] parameters = {\r\n");
builder.Append(plus.Value);
builder.Append("};\r\n");
builder.Append(plus2.Value + "\r\n");
if (base.IsHasIdentity)
{
builder.Append(CodeCommon.Space(3) + "object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);\r\n");
builder.Append(CodeCommon.Space(3) + "if (obj == null)\r\n");
builder.Append(CodeCommon.Space(3) + "{\r\n");
builder.Append(CodeCommon.Space(4) + "return 1;\r\n");
builder.Append(CodeCommon.Space(3) + "}\r\n");
builder.Append(CodeCommon.Space(3) + "else\r\n");
builder.Append(CodeCommon.Space(3) + "{\r\n");
builder.Append(CodeCommon.Space(4) + "return Convert.ToInt32(obj);\r\n");
builder.Append(CodeCommon.Space(3) + "}\r\n");
}
else
{
builder.Append(CodeCommon.Space(3) + "" + base.DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);\r\n");
}
builder.Append(base.Space(2) + "}");
return builder.ToString();
}
private string CreatAddProc()
{
StringPlus plus = new StringPlus();
StringPlus plus2 = new StringPlus();
plus.AppendSpaceLine(2, "/// <summary>");
plus.AppendSpaceLine(2, "/// 增加一条数据");
plus.AppendSpaceLine(2, "/// </summary>");
string str = "void";
if (base.IsHasIdentity)
{
str = "int";
}
plus.AppendSpaceLine(2, "public " + str + " Add()");
plus.AppendSpaceLine(2, "{");
plus.AppendSpaceLine(3, "int rowsAffected;");
plus.AppendSpaceLine(3, "" + base.DbParaHead + "Parameter[] parameters = {");
int num = 0;
int num2 = 0;
foreach (ColumnInfo info in base.Fieldlist)
{
string columnName = info.ColumnName;
string typeName = info.TypeName;
bool isIdentity = info.IsIdentity;
string length = info.Length;
plus.AppendSpaceLine(5, "new " + base.DbParaHead + "Parameter(\"@" + columnName + "\", " + base.DbParaDbType + "." + CodeCommon.DbTypeLength(base._dbtype, typeName, length) + "),");
if (info.IsIdentity)
{
num = num2;
plus2.AppendSpaceLine(3, "parameters[" + num2 + "].Direction = ParameterDirection.Output;");
num2++;
}
else
{
plus2.AppendSpaceLine(3, string.Concat(new object[] { "parameters[", num2, "].Value = ", columnName, ";" }));
num2++;
}
}
if (plus.Value.IndexOf(",") > 0)
{
plus.DelLastComma();
}
plus.AppendLine("};");
plus.AppendLine(plus2.Value);
plus.AppendSpaceLine(3, "" + base.DbHelperName + ".RunProcedure(\"UP_" + base.TableName + "_ADD\",parameters,out rowsAffected);");
if (base.IsHasIdentity)
{
plus.AppendSpaceLine(3, string.Concat(new object[] { base._key, "= (", base._keyType, ")parameters[", num, "].Value;" }));
}
plus.AppendSpaceLine(2, "}");
return plus.Value;
}
private string CreatAddSQL()
{
StringBuilder builder = new StringBuilder();
StringBuilder builder2 = new StringBuilder();
StringBuilder builder3 = new StringBuilder();
builder.Append("\r\n");
builder.Append(base.Space(2) + "/// <summary>\r\n");
builder.Append(base.Space(2) + "/// 增加一条数据\r\n");
builder.Append(base.Space(2) + "/// </summary>\r\n");
string str = "void";
if (base.IsHasIdentity)
{
str = "int";
}
builder.Append(base.Space(2) + "public " + str + " Add()\r\n");
builder.Append(base.Space(2) + "{\r\n");
builder.Append(base.Space(3) + "StringBuilder strSql=new StringBuilder();\r\n");
builder.Append(base.Space(3) + "strSql.Append(\"insert into [" + base.TableName + "](\");\r\n");
builder2.Append(base.Space(3) + "strSql.Append(\"");
foreach (ColumnInfo info in base.Fieldlist)
{
string columnName = info.ColumnName;
string typeName = info.TypeName;
bool isIdentity = info.IsIdentity;
if (info.IsIdentity)
{
str = CodeCommon.DbTypeToCS(typeName);
}
else
{
builder2.Append(columnName + ",");
if (CodeCommon.IsAddMark(typeName.Trim()))
{
builder3.Append(base.Space(3) + "strSql.Append(\"'\"+" + columnName + "+\"',\");\r\n");
continue;
}
builder3.Append(base.Space(3) + "strSql.Append(\"\"+" + columnName + "+\",\");\r\n");
}
}
builder2.Remove(builder2.Length - 1, 1);
builder3.Remove(builder3.Length - 6, 1);
builder2.Append("\");\r\n");
builder.Append(builder2.ToString());
builder.Append(base.Space(3) + "strSql.Append(\")\");\r\n");
builder.Append(base.Space(3) + "strSql.Append(\" values (\");\r\n");
builder.Append(builder3.ToString());
builder.Append(base.Space(3) + "strSql.Append(\")\");\r\n");
if (base.IsHasIdentity)
{
builder.Append(CodeCommon.Space(3) + "strSql.Append(\";select @@IDENTITY\");\r\n");
builder.Append(CodeCommon.Space(3) + "object obj = DbHelperSQL.GetSingle(strSql.ToString());\r\n");
builder.Append(CodeCommon.Space(3) + "if (obj == null)\r\n");
builder.Append(CodeCommon.Space(3) + "{\r\n");
builder.Append(CodeCommon.Space(4) + "return 1;\r\n");
builder.Append(CodeCommon.Space(3) + "}\r\n");
builder.Append(CodeCommon.Space(3) + "else\r\n");
builder.Append(CodeCommon.Space(3) + "{\r\n");
builder.Append(CodeCommon.Space(4) + "return Convert.ToInt32(obj);\r\n");
builder.Append(CodeCommon.Space(3) + "}\r\n");
}
else
{
builder.Append(CodeCommon.Space(3) + "" + base.DbHelperName + ".ExecuteSql(strSql.ToString());\r\n");
}
builder.Append(base.Space(2) + "}");
return builder.ToString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -