1. Trang chủ
  2. » Công Nghệ Thông Tin

Introducing Windows Azure- P59 docx

5 233 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 85,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

288

namespace SQLAzureConnect

{

using SQLAzureConnect.Schema.SQLDatabaseAccess;

using SQLAzureConnect.Schema.SQLParameter;

public partial class SQLDataServiceControl : UserControl

{

public SQLDatabaseAccessRootSqlDataService sqlDatabaseAccessService = null; private FormSQLAzureConnect parentForm = null;

private TabPage currentSelectedPage = null;

public string SelectedText {

get { return this.richTextBoxCommandText.SelectedText.Trim(); }

}

public event EventNotificationHandler eventSelectedTextChanged;

public event EventBubblePreviewKeyDownHandler eventBubblePreviewKeyDown; public SQLDataServiceControl()

{

InitializeComponent();

}

public SQLDataServiceControl(ref SQLDatabaseAccessRootSqlDataService sqlDatabaseAccessRoot,

FormSQLAzureConnect parentForm)

{

InitializeComponent();

this.bindingSourceService.DataSource =

sqlDatabaseAccessService = sqlDatabaseAccessRoot;

parentForm = parentForm;

UpdateUI();

this.richTextBoxCommandText.PreviewKeyDown +=

new PreviewKeyDownEventHandler(richTextBoxCommandText PreviewKeyDown); }

public void DoDataExchange()

{

sqlDatabaseAccessService.Subject = this.txtSubject.Text.Trim();

sqlDatabaseAccessService.Description = this.txtDescription.Text.Trim(); sqlDatabaseAccessService.Command.Text =

this.richTextBoxCommandText.Text.Trim();

if (this.radioButtonQuery.Checked)

{

sqlDatabaseAccessService.Command.Type =

SQLDatabaseAccessRootSqlDataServiceCommandType.Query;

}

else if (this.radioButtonStoredProcedure.Checked)

{

sqlDatabaseAccessService.Command.Type =

Trang 2

289

SQLDatabaseAccessRootSqlDataServiceCommandType.Storedprocedure;

}

foreach (TabPage page in this.tabParameter.TabPages)

{

(page.Controls[0] as ParameterControl).DoDataExchange();

}

}

private void UpdateUI()

{

if (null != sqlDatabaseAccessService)

{

this.txtSubject.Text = sqlDatabaseAccessService.Subject;

this.txtDescription.Text = sqlDatabaseAccessService.Description;

switch ( sqlDatabaseAccessService.Command.Type)

{

case SQLDatabaseAccessRootSqlDataServiceCommandType.Storedprocedure:

this.radioButtonStoredProcedure.Select();

break;

case SQLDatabaseAccessRootSqlDataServiceCommandType.Query:

default:

this.radioButtonQuery.Select();

break;

}

this.richTextBoxCommandText.Clear();

this.richTextBoxCommandText.AppendText(

sqlDatabaseAccessService.Command.Text

);

if (null != sqlDatabaseAccessService.Command &&

null != sqlDatabaseAccessService.Command.SQLParameterRoot)

{

for (int i = 0; i <

sqlDatabaseAccessService.Command.SQLParameterRoot.Length; ++i )

{

AddPage(ref sqlDatabaseAccessService.Command.SQLParameterRoot[i]); }

}

if (this.tabParameter.TabPages.Count > 0)

{

tabParameter.SelectedTab = this.tabParameter.TabPages[0];

}

}

}

private void tabParameter SelectedIndexChanged(object sender, EventArgs e)

{

currentSelectedPage = this.tabParameter.SelectedTab;

Trang 3

290

}

private void btnAddParameter Click(object sender, EventArgs e)

{

if (null != parentForm)

{

parentForm.DisplayMessage(string.Empty, false);

}

this.txtParameter.Focus();

if (string.Empty == this.txtParameter.Text)

{

if (null != parentForm)

{

parentForm.DisplayMessage("Please enter parameter name!", true); }

return;

}

SQLParameterRoot sqlParameterRoot = new SQLParameterRoot();

sqlParameterRoot.Parameter = new SQLParameterRootParameter();

sqlParameterRoot.Parameter.Name = this.txtParameter.Text.Trim();

sqlParameterRoot.Parameter.Type = "INT";

sqlParameterRoot.Parameter.Size = "4";

TabPage page = AddPage(ref sqlParameterRoot);

if (null != page)

{

this.tabParameter.SelectedTab = page;

}

int parameterCount = 0;

sqlDatabaseAccessService.Command.SQLParameterRoot =

new SQLParameterRoot[parameterCount + 1];

if (null != sqlDatabaseAccessService.Command.SQLParameterRoot)

{

parameterCount = sqlDatabaseAccessService.Command.SQLParameterRoot.Length; List<SQLParameterRoot> currentParameterList =

new List<SQLParameterRoot>(

sqlDatabaseAccessService.Command.SQLParameterRoot

);

currentParameterList.CopyTo(

sqlDatabaseAccessService.Command.SQLParameterRoot

);

}

else

{

parameterCount = 1;

}

Trang 4

291

sqlDatabaseAccessService.Command.SQLParameterRoot[parameterCount - 1] =

sqlParameterRoot;

}

private TabPage AddPage(ref SQLParameterRoot sqlParameterRoot)

{

TabPage page = null;

if (null != sqlParameterRoot && null != sqlParameterRoot.Parameter)

{

if (String.IsNullOrEmpty(sqlParameterRoot.Parameter.Name))

{

if (null != parentForm)

{

parentForm.DisplayMessage(

"Please enter parameter name to add", true

);

return null;

}

}

if (FormSQLAzureConnect.IsPageExisted(sqlParameterRoot.Parameter.Name,

this.tabParameter))

{

if (null != parentForm)

{

parentForm.DisplayMessage(

string.Format("The name <{0}> of parameter already exists",

sqlParameterRoot.Parameter.Name), true);

}

return null;

}

page = new TabPage(sqlParameterRoot.Parameter.Name);

ParameterControl parameterControl =

new ParameterControl(ref sqlParameterRoot, parentForm);

page.Controls.Add(parameterControl);

parameterControl.Dock = DockStyle.Fill;

this.tabParameter.TabPages.Add(page);

}

return page;

}

private void btnDelete Click(object sender, EventArgs e)

{

if (null != parentForm)

{

parentForm.DisplayMessage(string.Empty, false);

}

this.txtParameter.Focus();

Trang 5

292

if (string.Empty == this.txtParameter.Text)

{

if (null != parentForm)

{

parentForm.DisplayMessage(

"Please enter parameter name for deleting", true

);

}

return;

}

TabPage page = null;

foreach (TabPage p in tabParameter.TabPages)

{

if (p.Text == txtParameter.Text.Trim())

{

page = p;

break;

}

}

if (null != page)

{

int parameterCount =

sqlDatabaseAccessService.Command.SQLParameterRoot.Length;

if (null != sqlDatabaseAccessService.Command.SQLParameterRoot && parameterCount > 0)

{

List<SQLParameterRoot> parameterList = new List<SQLParameterRoot>(); foreach (SQLParameterRoot param in

sqlDatabaseAccessService.Command.SQLParameterRoot)

{

if (String.Compare(param.Parameter.Name, page.Text, true) != 0) {

parameterList.Add(param);

}

}

sqlDatabaseAccessService.Command.SQLParameterRoot =

new SQLParameterRoot[parameterList.Count];

if (parameterList.Count > 0)

{

parameterList.CopyTo(

sqlDatabaseAccessService.Command.SQLParameterRoot

);

}

this.tabParameter.TabPages.Remove(page);

}

}

Ngày đăng: 05/07/2014, 01:20

TỪ KHÓA LIÊN QUAN