' ToString override sb.AppendLine(" Public Overrides Function ToString() As String") sb.AppendLine($" Return $""className: String.Join(", ", properties.Keys.Select(Function(k) $"k=k")) """) sb.AppendLine(" End Function") sb.AppendLine("End Class") Return sb.ToString() End Function
Public Shared Function GenerateSqlInsertBuilder(tableName As String, columnNames As List(Of String)) As String Dim sb As New StringBuilder() sb.AppendLine("Imports System.Data.SqlClient") sb.AppendLine() sb.AppendLine($"Public Class tableNameSqlBuilder") sb.AppendLine(" Public Shared Function BuildInsertCommand(conn As SqlConnection, parameters As Dictionary(Of String, Object)) As SqlCommand") sb.AppendLine($" Dim columns As String = String.Join(" & "","" & ", columnNames.Select(Function(c) $""""c""""))") sb.AppendLine($" Dim valuesPlaceholders As String = String.Join(" & "","" & ", columnNames.Select(Function(c) $"@""c"))") sb.AppendLine($" Dim sql As String = $""INSERT INTO tableName (columns) VALUES (valuesPlaceholders)""") sb.AppendLine(" Dim cmd As New SqlCommand(sql, conn)") sb.AppendLine(" For Each kvp In parameters") sb.AppendLine(" cmd.Parameters.AddWithValue(kvp.Key, kvp.Value)") sb.AppendLine(" Next") sb.AppendLine(" Return cmd") sb.AppendLine(" End Function") sb.AppendLine("End Class") Return sb.ToString() End Function vb code generator
' 3. Generate SQL INSERT builder Dim columns As New List(Of String) From "OrderId", "Product", "Quantity" Dim sqlBuilderCode As String = CodeForge.GenerateSqlInsertBuilder("Orders", columns) CodeForge.SaveToFile(sqlBuilderCode, "C:\Generated\OrdersSqlBuilder.vb") ' ToString override sb