| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -738,30 +738,52 @@ namespace Apewer.Source | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            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 table = TextUtility.AntiInject(argTable, 255); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (argColumns != null && !TextUtility.IsBlank(table)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            var sql = TextUtility.EmptyString; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            var tn = TextUtility.AntiInject(table, 255); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (columns != null && !TextUtility.IsBlank(tn)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var count = argColumns.Count; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var count = columns.Count; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var names = new List<string>(count); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var values = new List<string>(count); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                foreach (var column in argColumns) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    //names.Add(TextGenerator.Merge("[", column, "]"));
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    names.Add(TextUtility.Merge(column)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    values.Add("@" + column); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                var text = new StringBuilder(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (count > 0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                foreach (var column in columns) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    text.Append("insert into `", table, "`(", string.Join(", ", names), ") "); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    text.Append("values(", string.Join(", ", values), "); "); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                result = text.ToString(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (string.IsNullOrEmpty(column)) continue; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    names.Add($"`{column}`"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    values.Add($"@{column}"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                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) | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |