|
@ -738,30 +738,52 @@ namespace Apewer.Source |
|
|
return columns; |
|
|
return columns; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private static string GenerateInsertStatement(string argTable, List<string> argColumns) |
|
|
private static string GenerateInsertStatement(string table, List<string> columns) |
|
|
{ |
|
|
{ |
|
|
var result = TextUtility.EmptyString; |
|
|
var sql = TextUtility.EmptyString; |
|
|
var table = TextUtility.AntiInject(argTable, 255); |
|
|
var tn = TextUtility.AntiInject(table, 255); |
|
|
if (argColumns != null && !TextUtility.IsBlank(table)) |
|
|
if (columns != null && !TextUtility.IsBlank(tn)) |
|
|
{ |
|
|
{ |
|
|
var count = argColumns.Count; |
|
|
var count = columns.Count; |
|
|
var names = new List<string>(count); |
|
|
var names = new List<string>(count); |
|
|
var values = new List<string>(count); |
|
|
var values = new List<string>(count); |
|
|
foreach (var column in argColumns) |
|
|
foreach (var column in columns) |
|
|
{ |
|
|
|
|
|
//names.Add(TextGenerator.Merge("[", column, "]"));
|
|
|
|
|
|
names.Add(TextUtility.Merge(column)); |
|
|
|
|
|
values.Add("@" + column); |
|
|
|
|
|
} |
|
|
|
|
|
var text = new StringBuilder(); |
|
|
|
|
|
if (count > 0) |
|
|
|
|
|
{ |
|
|
{ |
|
|
text.Append("insert into `", table, "`(", string.Join(", ", names), ") "); |
|
|
if (string.IsNullOrEmpty(column)) continue; |
|
|
text.Append("values(", string.Join(", ", values), "); "); |
|
|
names.Add($"`{column}`"); |
|
|
} |
|
|
values.Add($"@{column}"); |
|
|
result = text.ToString(); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var ns = string.Join(", ", names); |
|
|
|
|
|
var vs = string.Join(", ", values); |
|
|
|
|
|
|
|
|
|
|
|
sql = $"insert into `{tn}` ({ns}) values ({vs}); "; |
|
|
|
|
|
|
|
|
|
|
|
// var sb = new StringBuilder();
|
|
|
|
|
|
// if (columns.Count > 0)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// sb.Append("insert into `");
|
|
|
|
|
|
// sb.Append(tn);
|
|
|
|
|
|
// sb.Append("` (");
|
|
|
|
|
|
// for (var i = 0; i < columns.Count; i++)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// if (i > 0) sb.Append(", ");
|
|
|
|
|
|
// sb.Append("`");
|
|
|
|
|
|
// sb.Append(columns[i]);
|
|
|
|
|
|
// sb.Append("`");
|
|
|
|
|
|
// }
|
|
|
|
|
|
// sb.Append(") values (");
|
|
|
|
|
|
// for (var i = 0; i < columns.Count; i++)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// if (i > 0) sb.Append(", ");
|
|
|
|
|
|
// sb.Append("@");
|
|
|
|
|
|
// sb.Append(columns[i]);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// sb.Append("); ");
|
|
|
|
|
|
// }
|
|
|
|
|
|
// sql = sb.ToString();
|
|
|
} |
|
|
} |
|
|
return result; |
|
|
return sql; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private static string GenerateUpdateStatement(TableStructure structure, string key, List<string> columns) |
|
|
private static string GenerateUpdateStatement(TableStructure structure, string key, List<string> columns) |
|
|