Ejemplo n.º 1
0
 private void ts_AddDataJb_Click(object sender, EventArgs e)
 {
     if (tcl_tabList.SelectedTab.Name == tbp_DataScript.Name)
     {
         DataScriptCurrentModel = new DataScriptModel();
         CbConfigClear();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 生成脚本
 /// </summary>
 private void DataScript_Generate()
 {
     try
     {
         DataScriptModel model = DataScriptCurrentModel;
         model.CbInfo     = new List <DataConfig_CbModel>();
         model.ZTableName = cbx_TableList.Text.ConvertString();
         model.ZTablePk   = cbx_TablePk.Text.ConvertString();
         model.Sql        = txt_DbSql.Text.ConvertString();
         if (!ts_ds_IsTName.Checked)
         {
             SetName sName = new SetName();
             sName.TValue = model.Name;
             if (sName.ShowDialog() == DialogResult.OK)
             {
                 model.Name = sName.TValue.ConvertString();
             }
             else
             {
                 return;
             }
         }
         else
         {
             model.Name = model.ZTableName;
         }
         foreach (var item in pl_CbConfig.Controls)
         {
             if (item is Panel)
             {
                 var pl = item as Panel;
                 model.CbInfo.Add(new DataConfig_CbModel()
                 {
                     TableName = (pl.Controls["table"] as DropDownSearch).Text.ConvertString(),
                     CBZD      = (pl.Controls["cbzd"] as DropDownSearch).Text.ConvertString(),
                     ZBZD      = (pl.Controls["zbzd"] as DropDownSearch).Text.ConvertString()
                 });
             }
         }
         DataScriptLogic.GenerateData(model, ts_ds_IsPcZzl.Checked, ts_ds_OneFiled.Checked);
         model.AddOrUpdate();
         MessageBox.Show("生成成功");
     }
     catch (Exception ex)
     {
         MessageBox.Show("生成失败");
     }
 }
Ejemplo n.º 3
0
 public static void GenerateData(DataScriptModel model, bool isPcZzl, bool isOneFile)
 {
     try
     {
         string path = GetPath();
         var    data = DBInfo.GetData(model.Sql.ConvertString());
         if (data != null && data.Tables.Count > 0 && data.Tables[0].Rows.Count > 0)
         {
             var           dataTable = data.Tables[0];
             StringBuilder str       = new StringBuilder();
             str.AppendLine();
             //主表数据
             TableData(dataTable, model.ZTableName, model.ZTablePk, isPcZzl, ref str);
             if (!isOneFile)
             {
                 //保存文件
                 FileUtil.SaveFile(Path.Combine(path, model.Name.ConvertString()), model.ZTableName.ConvertString() + ".sql", str.ConvertString());
                 str.Clear();
             }
             //从表数据
             if (model.CbInfo != null && model.CbInfo.Count > 0)
             {
                 foreach (var item in model.CbInfo)
                 {
                     string tempStr = "'";
                     if (dataTable.Columns.Contains(item.ZBZD.ConvertString()))
                     {
                         foreach (DataRow dr in dataTable.Rows)
                         {
                             tempStr += dr[item.ZBZD.ConvertString()].ConvertString() + "','";
                         }
                     }
                     tempStr = tempStr.TrimEnd('\'').TrimEnd(',');
                     string sql      = $"SELECT * FROM {item.TableName.ConvertString()} WHERE {item.CBZD.ConvertString()} IN ({tempStr})";
                     var    tempData = DBInfo.GetData(sql).Tables[0];
                     //从表数据
                     TableData(tempData, item.TableName, item.CBZD, isPcZzl, ref str, IsAutoPk: true);
                     if (!isOneFile)
                     {
                         //保存文件
                         FileUtil.SaveFile(Path.Combine(path, model.Name.ConvertString()), item.TableName.ConvertString() + ".sql", str.ConvertString());
                         str.Clear();
                     }
                 }
             }
             if (string.IsNullOrEmpty(str.ToString()))
             {
                 new Exception("生成失败");
             }
             str.Insert(0, $"/******{model.Name.ConvertString()} {DateTime.Now.ToString("yyyy-MM-dd")} START ******/");
             str.AppendLine($"/******{model.Name.ConvertString()} END******/");
             if (isOneFile)
             {
                 //保存文件
                 FileUtil.SaveFile(path, model.Name.ConvertString() + ".sql", str.ConvertString());
             }
         }
     }
     catch (Exception e)
     {
         throw;
     }
 }