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

Introducing Windows Azure- P59 docx

5 232 0

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

THÔNG TIN TÀI LIỆU

Nội dung

CHAPTER 8 ■ SQL AZURE 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 = CHAPTER 8 ■ SQL AZURE 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; CHAPTER 8 ■ SQL AZURE 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; } CHAPTER 8 ■ SQL AZURE 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(); CHAPTER 8 ■ SQL AZURE 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

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN