代码生成器

简介: 一.界面设计 二.具体代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.

一.界面设计

image

二.具体代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 代码生成器1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnLink_Click(object sender, EventArgs e)
        {
            string sql = "select * from INFORMATION_SCHEMA.TABLES";
            DataTable dt = ExecuteDatatable(sql);
            foreach (DataRow row in dt.Rows)
            {
                string tableName = (string)row["TABLE_NAME"];
                clbDatabase.Items.Add(tableName);
 
            }
          
        }
        private static string constr = ConfigurationManager.ConnectionStrings["dbconstr"].ConnectionString;
        #region 数据库链接
        private DataTable ExecuteDatatable(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(constr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    DataSet dataset = new DataSet();
                    adapter.Fill(dataset);
                    return dataset.Tables[0];
                }
            }
        }
        #endregion
        #region 代码生成
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            string sql = "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@tabel";
            foreach (string tablename in clbDatabase.CheckedItems)
            {
                DataTable dt = ExecuteDatatable(sql,
                     new SqlParameter("@tabel", tablename));
                //MessageBox.Show(dt.TableName.ToString());
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("Class " + tablename);
                sb.AppendLine("{");

                foreach (DataRow row in dt.Rows)
                {
                    string dataType = ToVSType((string)row["DATA_TYPE"]);
                    string dataName = (string)row["COLUMN_NAME"];
                    sb.AppendLine("public " + dataType + " " + dataName + " {get;set;}");
                }
                sb.AppendLine("}");
                MessageBox.Show(sb.ToString());


            }

        }
        #endregion
        //数据库数据类型向VS转换
        private string ToVSType(string dataType)
        {
            switch (dataType)
            {
                case "int":
                    return "int";
                    //break;
                case "nchar":
                case "text":
                    return "string";
                    //break;
                case "bit":
                    return "bool";
                    //break;
                case "DateTime":
                    return "datetime";
                    //break;
                default :
                    return "object";

                   
            }
        }

    }
}

目录
相关文章
|
Java 数据库连接 数据库
MyBatis-Plus——逆向工程之AutoGenerator代码生成器
MyBatis-Plus——逆向工程之AutoGenerator代码生成器
MyBatis-Plus——逆向工程之AutoGenerator代码生成器
|
SQL XML Java
MyBatis-Plus——代码生成器(3.5.1+版本)
MyBatis-Plus——代码生成器(3.5.1+版本)
1922 0
MyBatis-Plus——代码生成器(3.5.1+版本)
|
3月前
|
人工智能 IDE 开发工具
AskCodiAI代码生成器
在软件开发领域,提高效率和简化流程是永恒的主题。AskCodi 作为一款基于 OpenAI GPT 的强大 AI 代码生成器,通过提供丰富的应用程序套件和与主流 IDE(如 VS Code、Jetbrains、Sublime Text)的集成,显著提升了编码体验和开发效率。无论初学者还是资深开发者,都可以通过与其交互式对话快速获取所需代码片段、技术支持或解决方案。此外,AskCodi 还具备时间复杂度洞察、自动测试创建等功能,全面支持开发者的各项工作。它不仅简化了复杂的编码查询过程,还鼓励创新,为软件开发带来无限可能。
66 0
|
3月前
|
人工智能 算法 搜索推荐
CodyAI代码生成器
近年来,人工智能技术飞速发展,Cody这款由Sourcegraph开发的人工智能编码助手应运而生,成为编程领域的一大革新。它不仅能够根据上下文提供精准的代码建议,还能预测开发人员的输入并提供相应代码片段,显著提升编码效率。Cody还能识别潜在错误并提出修复建议,缩短调试时间,同时通过智能代码审查帮助优化代码质量和风格。作为开发人员不可或缺的伙伴,Cody将随着AI技术的进步不断学习和优化,为编程领域带来新的发展机遇。
42 0
|
API
mybatis-plus代码生成器(二)
mybatis-plus代码生成器(二)
67 0
|
Java 关系型数据库 MySQL
逆向工程-MyBatis代码生成器!
阿辉学Java第五个月(2021年三月中旬开始java之旅) SpringBoot 工程下使用 Mybatis 反向工程 拷贝 Mybatis 反向工程配置文件到项目的根目录下
159 0
逆向工程-MyBatis代码生成器!
|
SQL XML Java
MyBatis-18MyBatis代码生成器-Example讲解
MyBatis-18MyBatis代码生成器-Example讲解
125 0
|
XML Java 数据库连接
MyBatis-17MyBatis代码生成器(逆向工程)MBG使用
MyBatis-17MyBatis代码生成器(逆向工程)MBG使用
119 0
|
XML Oracle Java
Mybatis3逆向工程,代码生成器的使用!
Mybatis3逆向工程,代码生成器的使用!
328 0
Mybatis3逆向工程,代码生成器的使用!
|
SQL 存储 前端开发
Mybatis和Mybatis Plus代码生成器详解
Mybatis和Mybatis Plus代码生成器详解
429 0
Mybatis和Mybatis Plus代码生成器详解