📄 scriptgenerator.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 + -