private void generateScriptToolStripMenuItem_Click(object sender, EventArgs e) { if (saveFileDialogScript.ShowDialog(this) != DialogResult.OK) { return; } Dictionary <string, ITable> t = desktop.Tables; StreamWriter stream = new StreamWriter(saveFileDialogScript.FileName); foreach (ITable table in t.Values) { List <string> l = dataFactory.GenerateScript(table); foreach (string s in l) { stream.WriteLine(s); } stream.WriteLine(""); } stream.Close(); }
/// <summary> /// Generates script /// </summary> /// <param name="table">Table</param> /// <param name="factory">Factory</param> /// <returns>Script</returns> public static List <string> GenerateScript(this ITable table, IDataSetFactory factory) { List <string> l = new List <string>(); l.Add("CREATE TABLE dbo." + table.Name); l.Add("("); Dictionary <string, IColumn> d = table.Columns; int n = 0; foreach (string key in d.Keys) { string s = key + " " + factory.GenerateScript(d[key]); ++n; if (n < d.Count) { s += ","; } l.Add(s); } l.Add(");"); return(l); }