文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>.net代码生成器自动生成DAL和BLL类库

.net代码生成器自动生成DAL和BLL类库

时间:2010-12-16  来源:水淼

                }
                cbbDateBaseName.SelectedIndex = 0;
            }

        }
        /// <summary>
        /// 生成数据访问层
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void btnDAL_Click(object sender, EventArgs e)
        {
            classNameLastTag = "Service";
            string sql = "SELECT * FROM " + cboDataTable.Text;
            if (cboDataTable.Text == "")
            {
                MessageBox.Show("请选择要生成的表");
                return;
            }
            StringBuilder sb = new StringBuilder();
            using (SqlDataReader reader = DBHelper.ExecuteReader(String.Format(DBHelper.CONNSTRING, cbbDateBaseName.Text), CommandType.Text, sql, null))
            {

                sb.AppendLine("using System;");
                sb.AppendLine("using System.Collections.Generic;");
                sb.AppendLine("using System.Linq;");
                sb.AppendLine("using System.Text;");
                sb.AppendLine("using " + cbbDateBaseName.Text + ".Model;");
                sb.AppendLine("using System.Data.SqlClient;");
                sb.AppendLine("using System.Data");
                sb.AppendLine("namespace " + cbbDateBaseName.Text + ".DAL");
                sb.AppendLine("{");
                sb.AppendLine("\tpublic class " + cboDataTable.Text + "Service");
                sb.AppendLine("\t{");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///得到" + cboDataTable.Text + "数据进行分页");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=\"pageSize\"></param>");
                sb.AppendLine("\t\t///<param name=\"pageIndex\"></param>");
                sb.AppendLine("\t\tpublic static IList<" + cboDataTable.Text + "> GetAll" + cboDataTable.Text + "(int pageSize, int pageIndex)");
                sb.AppendLine("\t\t{");
                sb.AppendLine("\t\t\tpageIndex--");
                sb.AppendLine("\t\t\tIList<" + cboDataTable.Text + "> list =new List<" + cboDataTable.Text + ">();");
                sb.AppendLine("\t\t\tstring sql=\"select top (@pageSize) * from " + cboDataTable.Text + " where Id not in(select top (@pageSize*@pageIndex) Id from " + cboDataTable.Text + "  order by id desc) order by id desc;\"");
                sb.AppendLine("\t\t\tSqlParameter[] pare = new SqlParameter[] ");
                sb.AppendLine("\t\t\t{");
                sb.AppendLine("\t\t\t\tnew SqlParameter(\"@pageSize\",pageSize),");
                sb.AppendLine("\t\t\t\tnew SqlParameter(\"@pageIndex\",pageIndex)");
                sb.AppendLine("\t\t\t};");
                sb.AppendLine("\t\t\tusing (SqlDataReader reader = DBHelper.ExecuteReader(DBHelper.CONNSTRING, CommandType.Text, sql,pare)");
                sb.AppendLine("\t\t\t{");
                sb.AppendLine("\t\t\t\twhile (reader.Read())");
                sb.AppendLine("\t\t\t\t{");
                sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text + "  " + cboDataTable.Text.ToLower() + " = new " + cboDataTable.Text + "();");
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    if (reader.GetFieldType(i).ToString() == "System.Int32")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToInt32(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.String")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = reader[\"" + reader.GetName(i) + "\"].ToString();");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.DateTime")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToDateTime(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Boolean")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToBoolean(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Byte[]")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToByte(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Double")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " =  Convert.ToDouble(reader[\"" + reader.GetName(i) + "\"]);");

                    }

                }
                sb.AppendLine("\t\t\t\t\tlist.Add(" + cboDataTable.Text.ToLower() + ");");
                sb.AppendLine("\t\t\t\t}");
                sb.AppendLine("\t\t\t\treturn list;");
                sb.AppendLine("\t\t\t}");
                sb.AppendLine("\t\t}\n\n");
                //通过Id得到对象
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///得到" + cboDataTable.Text + "对象信息通过Id");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=\"Id\"></param>");
                sb.AppendLine("\t\tpublic static "+cboDataTable.Text+" Get" + cboDataTable.Text + "ById(int Id)");
                sb.AppendLine("\t\t{");
                sb.AppendLine("\t\t\t sting sql=\"select * from " + cboDataTable.Text + " where Id=@Id;\"");
                sb.AppendLine("\t\t\t " + cboDataTable.Text + " " + cboDataTable.Text.ToLower() + "=null;");
                sb.AppendLine("\t\t\tSqlParameter[] pare = new SqlParameter[] ");
                sb.AppendLine("\t\t\t{");
                sb.AppendLine("\t\t\t\tnew SqlParameter(\"@Id\",Id)");
                sb.AppendLine("\t\t\t};");
                sb.AppendLine("\t\t\tusing (SqlDataReader reader = DBHelper.ExecuteReader(DBHelper.CONNSTRING, CommandType.Text, sql,pare)");
                sb.AppendLine("\t\t\t{");
                sb.AppendLine("\t\t\t\tif (reader.Read())");
                sb.AppendLine("\t\t\t\t{");
                sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + " = new " + cboDataTable.Text + "();");
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    if (reader.GetFieldType(i).ToString() == "System.Int32")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToInt32(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.String")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = reader[\"" + reader.GetName(i) + "\"].ToString();");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.DateTime")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToDateTime(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Boolean")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToBoolean(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Byte[]")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " = Convert.ToByte(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                    else if (reader.GetFieldType(i).ToString() == "System.Double")
                    {
                        sb.AppendLine("\t\t\t\t\t" + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + " =  Convert.ToDouble(reader[\"" + reader.GetName(i) + "\"]);");

                    }
                  
                   
                }
                sb.AppendLine("\t\t\t\t}");
                sb.AppendLine("\t\t\t\treturn  " + cboDataTable.Text.ToLower() + ";");
                sb.AppendLine("\t\t\t}");
                sb.AppendLine("\t\t}");
                //更改
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///更改" + cboDataTable.Text + "信息通过Id");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=\""+cboDataTable.Text+"\"></param>");
                sb.AppendLine("\t\tpublic static int Update" + cboDataTable.Text + "ById("+cboDataTable.Text+" "+cboDataTable.Text.ToLower()+")");
                sb.AppendLine("\t\t{");
                sb.Append("\t\t\tstring sql =\"update " + cboDataTable.Text + " set "+reader.GetName(1)+"=@"+reader.GetName(1));
                for (int i = 2; i < reader.FieldCount; i++)
           {
                   sb.Append(","+reader.GetName(i)+"=@"+reader.GetName(i));
           }
                    sb.AppendLine(" where Id=@Id;");
                    sb.AppendLine("\t\t\tSqlParameter[] pare = new SqlParameter[] ");
                    sb.AppendLine("\t\t\t{");
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        sb.AppendLine("\t\t\t\tnew SqlParameter(\"@" + reader.GetName(i) + "\","+cboDataTable.Text.ToLower()+"."+reader.GetName(i)+"),");
                    }
                    sb.AppendLine("\t\t\t};");
                    sb.AppendLine("\t\t\treturn Convert.ToInt32(DBHelper.ExecuteNonQuery(DBHelper.CONNSTRING, CommandType.Text, sql, para));");
               
                sb.AppendLine("\t\t}");
                //添加
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///添加" + cboDataTable.Text + "信息");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=\"" + cboDataTable.Text + "\"></param>");
                sb.AppendLine("\t\tpublic static int Insert" + cboDataTable.Text + "(" + cboDataTable.Text +" "+cboDataTable.Text.ToLower()+")");
                sb.AppendLine("\t\t{");
                sb.Append("\t\t\tstring sql =\"Insert into  " + cboDataTable.Text + " ( " + reader.GetName(1));
                for (int i = 2; i < reader.FieldCount; i++)
                {
                    sb.Append("," + reader.GetName(i));
                }
                sb.Append(") values ( @"+reader.GetName(1)+"");
                 for (int i = 2; i < reader.FieldCount; i++)
                {
                    sb.Append(",@" + reader.GetName(i));
                }
                sb.AppendLine(");");
                sb.AppendLine("\t\t\tSqlParameter[] pare = new SqlParameter[] ");
                sb.AppendLine("\t\t\t{");
                for (int i = 1; i < reader.FieldCount; i++)
                {
                    sb.AppendLine("\t\t\t\tnew SqlParameter(\"@" + reader.GetName(i) + "\"," + cboDataTable.Text.ToLower() + "." + reader.GetName(i) + "),");
                }
                sb.AppendLine("\t\t\t};");
                sb.AppendLine("\t\t\treturn Convert.ToInt32(DBHelper.ExecuteNonQuery(DBHelper.CONNSTRING, CommandType.Text, sql, para));");

                sb.AppendLine("\t\t}");
                //删除对象
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///删除" + cboDataTable.Text + "信息通过Id");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=Id></param>");
                sb.AppendLine("\t\tpublic static int Delete" + cboDataTable.Text + "ById(int Id)");
                sb.AppendLine("\t\t{");
                sb.AppendLine("\t\t\t string sql =delete "+cboDataTable.Text+" where Id=@Id;");
                sb.AppendLine("\t\t\tSqlParameter[] pare = new SqlParameter[] ");
                sb.AppendLine("\t\t\t{");
                sb.AppendLine("\t\t\t\tnew SqlParameter(\"@Id\",Id)");
                sb.AppendLine("\t\t\t};");
                sb.AppendLine("\t\t\treturn Convert.ToInt32(DBHelper.ExecuteNonQuery(DBHelper.CONNSTRING, CommandType.Text, sql, para));");
                sb.AppendLine("\t\t}");
                //批量删除对象
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///删除" + cboDataTable.Text + "信息通过Id");
                sb.AppendLine("\t\t///<summary>");
                sb.AppendLine("\t\t///<param name=Id></param>");
                sb.AppendLine("\t\tpublic static int Delete" + cboDataTable.Text + "ById(string Id)");
                sb.AppendLine("\t\t{");
                sb.AppendLine("\t\t\t string sql =delete " + cboDataTable.Text + " where Id in (\"+Id+\");");
                sb.AppendLine("\t\t\treturn Convert.ToInt32(DBHelper.ExecuteNonQuery(DBHelper.CONNSTRING, CommandType.Text, sql, para));");
                sb.AppendLine("\t\t}");
            }

            sb.AppendLine("\t}");
            sb.AppendLine("}");


            rtb.Text = sb.ToString();


        }


        /// <summary>
        /// 生成业务逻辑层
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBLL_Click(object sender, EventArgs e)
        {
            classNameLastTag = "Mananger";
            if (cboDataTable.Text == "")
            {
                MessageBox.Show("请选择要生成的表");
                return;
            }
        }
        /// <summary>
        /// 生成实体类
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void btnModule_Click(object sender, EventArgs e)
        {
            classNameLastTag = "";
            if (cboDataTable.Text == "")
            {
                MessageBox.Show("请选择要生成的表");
                return;
            }
            string sql = "SELECT * FROM " + cboDataTable.Text;
            StringBuilder sb = new StringBuilder();
            using (SqlDataReader reader = DBHelper.ExecuteReader(String.Format(DBHelper.CONNSTRING, cbbDateBaseName.Text), CommandType.Text, sql, null))
            {
                sb.AppendLine("using System;");
                sb.AppendLine("using System.Collections.Generic;");
                sb.AppendLine("using System.Linq;");
                sb.AppendLine("using System.Text;");
                sb.AppendLine("namespace " + cbbDateBaseName.Text + ".Model");
                sb.AppendLine("\t{");
                sb.AppendLine("\t \t[Serializable]");
                sb.AppendLine("\t\tpublic class " + cboDataTable.Text + "");
                sb.AppendLine("\t\t{");
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    sb.AppendLine("\t\t\tpublic " + reader.GetFieldType(i) + "  " + reader.GetName(i) + "  { get; set; }");
                }
                sb.AppendLine("\t\t}");
                sb.AppendLine("\t}");
                rtb.Text = sb.ToString();
            }
        }
        private void cbbDateBaseName_SelectedValueChanged(object sender, EventArgs e)
        {
            cboDataTable.Items.Clear();
            string sql = "SELECT Name FROM SysObjects Where XType='U'";
            using (SqlDataReader reader = DBHelper.ExecuteReader(String.Format(DBHelper.CONNSTRING, cbbDateBaseName.Text), CommandType.Text, sql, null))
            {
                while (reader.Read())
                {
                    cboDataTable.Items.Add(reader["Name"].ToString());
                }
            }
            if (cboDataTable.Items.Count != 0)
            {
                cboDataTable.SelectedIndex = 0;
            }
            else
            {
                cboDataTable.Text = "";
            }

 

        }

        private void btnUpload_Click(object sender, EventArgs e)
        {
            FolderDialog f = new FolderDialog();
            if (f.DisplayDialog() != DialogResult.OK)
            {
                return;
            }
            else
            {
                try
                {
                    FileStream nFile = new FileStream(f.Path + "" + cboDataTable.Text + classNameLastTag + ".cs", FileMode.CreateNew);
                    StreamWriter writer = new StreamWriter(nFile);
                    writer.WriteLine(rtb.Text);
                    writer.Close();
                    MessageBox.Show("类库生成成功!!!");

                }
                catch
                {
                    MessageBox.Show("出错了");
                }


            }


        }

        private void cbbDateBaseName_SelectedIndexChanged(object sender, EventArgs e)
        {
            cboDataTable.Items.Clear();

            string sql = "SELECT Name FROM SysObjects Where XType='U'";
            using (SqlDataReader reader = DBHelper.ExecuteReader(String.Format(DBHelper.CONNSTRING, cbbDateBaseName.Text), CommandType.Text, sql, null))
            {
                while (reader.Read())
                {
                    cboDataTable.Items.Add(reader["Name"].ToString());
                }
            }
            if (cboDataTable.Items.Count != 0)
            {
                cboDataTable.SelectedIndex = 0;
            }
            else
            {
                cboDataTable.Text = "";
            }

        }
    }

相关阅读 更多 +
排行榜 更多 +
我的武侠梦手游下载

我的武侠梦手游下载

角色扮演 下载
快乐连连看下载免费版

快乐连连看下载免费版

休闲益智 下载
泛滥死者布道手机版下载

泛滥死者布道手机版下载

角色扮演 下载