⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scriptgenerator.cs

📁 sqlce查询分析器
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ScriptGenerator;

namespace CEQuery
{
    public partial class ScriptGenerator : Form
    {
        public ScriptGenerator()
        {
            InitializeComponent();
        }
        public string ConnectionString { get; set; }
        public string TableName { get; set; }
        private void btnSelect_Click(object sender, EventArgs e)
        {
            saveFileDialog.Title = "Create the SQL CE / SQL Schema File";
            saveFileDialog.Filter = "SQL CE Schema Files (*.sqlce)|*.sqlce|SQL Schema Files (*.sql)|*.sql";
            saveFileDialog.RestoreDirectory = true;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                txtFile.Text = saveFileDialog.FileName;
            }
        }
        private bool ValidateInput()
        {
            bool isValid = true;
            if (this.txtFile.Text.Trim() == string.Empty)
            {
                isValid = false;
                errValidation.SetError(btnSelect, "Select a file.");
            }
            else
            {
                if (rdbSQLCE.Checked && !txtFile.Text.ToLower().EndsWith("ce"))
                    txtFile.Text += "ce";
                else if (rdbSQLServer.Checked && txtFile.Text.ToLower().EndsWith("ce"))
                    txtFile.Text = txtFile.Text.Substring(0, txtFile.Text.Length - 2);
                else
                    //NA
                errValidation.SetError(btnSelect, string.Empty);
            }
            return isValid;
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (!ValidateInput())
            {
                return;
            }
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                IRepository repository = new DBRepository(ConnectionString);

                Generator generator;
                if(string.IsNullOrEmpty(TableName))
                    generator = new Generator(repository);
                else
                    generator = new Generator(repository,TableName);

                // The execution below has to be in this sequence
                generator.GenerateTables(rdbSQLServer.Checked);
                if (rbWithData.Checked)
                {
                    generator.GenerateTableContent();
                }
                generator.GeneratePrimaryKeys();
                generator.GenerateIndex();                
                generator.GenerateForeignKeys();

                Helper.WriteIntoFile(generator.GeneratedScript, txtFile.Text);
                Cursor.Current = Cursors.Default;
                btnHiddenOK.PerformClick();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void rdbSQLCE_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbSQLCE.Checked && !txtFile.Text.ToLower().EndsWith("ce"))
                txtFile.Text += "ce";
        }

        private void rdbSQLServer_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbSQLServer.Checked && txtFile.Text.ToLower().EndsWith("ce"))
                txtFile.Text = txtFile.Text.Substring(0,txtFile.Text.Length - 2);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -