//生成代码 private void btngen_Click(object sender, EventArgs e) { if (lsbright.Items.Count == 0) { MessageBox.Show("请选择操作表."); return; } string tmp = cobdbtype.SelectedItem.ToString(); string output = txtoutput.Text.Trim(); if (!Directory.Exists(output)) { Directory.CreateDirectory(output); } #region Model string output_model = ""; if (output.Substring(output.Length - 2, 2) == "\\") { output_model = output + "Model\\"; } else { output_model = output + "\\Model\\"; } if (!Directory.Exists(output_model)) { Directory.CreateDirectory(output_model); } string ns = txtnamespace.Text.Trim(); if (string.IsNullOrEmpty(ns)) { MessageBox.Show("请输入命名空间."); return; } string front = txtfront.Text.Trim(); string classname = ""; string connstr = txtconnstr.Text.Trim(); foreach (string tabname in lsbright.Items) { classname = tabname; if (front.Length > 0) { classname = tabname.Replace(front, ""); } classname = classname.Substring(0, 1).ToUpper() + classname.Substring(1); string filepath = output_model + classname + ".cs"; StreamWriter sw = new StreamWriter(filepath, false); if (tmp == "Sqlite") { sw.Write(GenModel_SQLite.GenAllCode(ns, tabname, classname, connstr)); } if (tmp == "MySQL") { sw.Write(GenModel_MySQL.GenAllCode(ns, tabname, classname, connstr)); } if (tmp == "SQL Server") { sw.Write(GenModel_MSSQL.GenAllCode(ns, tabname, classname, connstr)); } else if (tmp == "Access") { sw.Write(GenModel_Access.GenAllCode(ns, tabname, classname, connstr)); } sw.Flush(); sw.Close(); sw.Dispose(); } #endregion #region DAL string output_dal = ""; if (output.Substring(output.Length - 2, 2) == "\\") { output_dal = output + "DAL\\"; } else { output_dal = output + "\\DAL\\"; } if (!Directory.Exists(output_dal)) { Directory.CreateDirectory(output_dal); } foreach (string tabname in lsbright.Items) { classname = tabname; if (front.Length > 0) { classname = tabname.Replace(front, ""); } classname = classname.Substring(0, 1).ToUpper() + classname.Substring(1); string filepath = output_dal + classname + "DAL.cs"; string filepathExtend = output_dal + classname + "DALExtend.cs"; StreamWriter sw = new StreamWriter(filepath, false); StreamWriter swExtend = new StreamWriter(filepathExtend, false); if (rad0.Checked) { //基于微软企业库 sw.Write(GenDAL_MSSQL.GenAllCode(ns, tabname, classname, connstr)); } else if (rad1.Checked) { //基于UsTeam数据库操作类生成DAL if (tmp == "Sqlite") { sw.Write(GenDAL_SQLite_niunan.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenSqliteExtend(ns, tabname, classname, connstr)); } if (tmp == "MySQL") { sw.Write(GenDAL_MySQL_niunan.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenMysqlExtend(ns, tabname, classname, connstr)); } if (tmp == "SQL Server") { sw.Write(GenDAL_MSSQL_niunan.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenMssqlExtend(ns, tabname, classname, connstr)); } else if (tmp == "Access") { sw.Write(GenDAL_Access_niunan.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenAccessExtend(ns, tabname, classname, connstr)); } } else { //基于Wcf数据库操作类生成DAL if (tmp == "Sqlite") { sw.Write(GenDAL_SQLite_Wcf.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenSqliteExtend(ns, tabname, classname, connstr)); } if (tmp == "MySQL") { sw.Write(GenDAL_MySQL_Wcf.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenMysqlExtend(ns, tabname, classname, connstr)); } if (tmp == "Access") { sw.Write(GenDAL_Access_Wcf.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenAccessExtend(ns, tabname, classname, connstr)); } if (tmp == "SQL Server") { sw.Write(GenDAL_MSSQL_Wcf.GenAllCode(ns, tabname, classname, connstr)); swExtend.Write(GenExtendClass.GenMssqlExtend(ns, tabname, classname, connstr)); } } sw.Flush(); sw.Close(); sw.Dispose(); swExtend.Flush(); swExtend.Close(); swExtend.Dispose(); } #endregion #region MSSQLHelper if (rad1.Checked) { if (tmp == "Sqlite") { string filepath = output_dal + "SQLiteHelper.cs"; StreamWriter sw = new StreamWriter(filepath, false); sw.Write(GenDAL_SQLite_niunan.GenSQLiteHelper(ns, connstr)); sw.Flush(); sw.Close(); sw.Dispose(); } if (tmp == "SQL Server") { string filepath = output_dal + "MSSQLHelper.cs"; StreamWriter sw = new StreamWriter(filepath, false); sw.Write(GenDAL_MSSQL_niunan.GenMSSQLHelper(ns, connstr)); sw.Flush(); sw.Close(); sw.Dispose(); } else if (tmp == "Access") { string filepath = output_dal + "AccessHelper.cs"; StreamWriter sw = new StreamWriter(filepath, false); sw.Write(GenDAL_Access_niunan.GenAccessHelper(ns, connstr)); sw.Flush(); sw.Close(); sw.Dispose(); } else if (tmp == "MySQL") { string filepath = output_dal + "MySQLHelper.cs"; StreamWriter sw = new StreamWriter(filepath, false); sw.Write(GenDAL_MySQL_niunan.GenMySQLHelper(ns, connstr)); sw.Flush(); sw.Close(); sw.Dispose(); } } #endregion MessageBox.Show("代码生成功."); txtyl.Text = "代码已生成到:" + output; System.Diagnostics.Process.Start(output); }
//dal预览 private void btndalyl_Click(object sender, EventArgs e) { if (lsbright.Items.Count == 0) { MessageBox.Show("请选择操作表."); return; } string tmp = cobdbtype.SelectedItem.ToString(); string tabname = lsbright.Items[0].ToString(); string ns = txtnamespace.Text.Trim(); if (string.IsNullOrEmpty(ns)) { MessageBox.Show("请输入命名空间."); return; } string front = txtfront.Text.Trim(); string classname = tabname; if (front.Length > 0) { classname = tabname.Replace(front, ""); } classname = classname.Substring(0, 1).ToUpper() + classname.Substring(1); string connstr = txtconnstr.Text.Trim(); if (rad0.Checked) { //基于微软企业库生成DAL txtyl.Text = GenDAL_MSSQL.GenAllCode(ns, tabname, classname, connstr); } else if (rad1.Checked) { //基于UsTeam数据库操作类生成DAL if (tmp == "Sqlite") { txtyl.Text = GenDAL_SQLite_niunan.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "MySQL") { txtyl.Text = GenDAL_MySQL_niunan.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "Access") { txtyl.Text = GenDAL_Access_niunan.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "SQL Server") { txtyl.Text = GenDAL_MSSQL_niunan.GenAllCode(ns, tabname, classname, connstr); } } else { //基于Wcf数据库操作类生成DAL if (tmp == "Sqlite") { txtyl.Text = GenDAL_SQLite_Wcf.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "MySQL") { txtyl.Text = GenDAL_MySQL_Wcf.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "Access") { txtyl.Text = GenDAL_Access_Wcf.GenAllCode(ns, tabname, classname, connstr); } if (tmp == "SQL Server") { txtyl.Text = GenDAL_MSSQL_Wcf.GenAllCode(ns, tabname, classname, connstr); } } }