예제 #1
0
 private void NewDocument()
 {
     Data.ConnectionDetails connectionDetails = _document.ConnectionDetails.Clone();
     _fileName = null;
     _document = new Data.Document();
     _document.ConnectionDetails = connectionDetails;
     _queryTextbox.Clear();
     _resultsControl.Clear();
     UpdateCaption();
 }
예제 #2
0
        private void _AcceptButton_Click(object sender, System.EventArgs e)
        {
            Data.ConnectionDetails oDetails = new Data.ConnectionDetails(
                _ServerNameTextBox.Text,
                _DBNameTextBox.Text,
                _UseIntegratedAuthentication.Checked ? Data.DatabaseConnectionType.WindowsIntegrated : Data.DatabaseConnectionType.SQLAuthentication,
                _SQLUsernameTextBox.Text,
                _SQLPasswordTextBox.Text,
                Convert.ToInt32(_CommandTimeoutUpDown.Value));

            _ConnectionDetails = oDetails;

            this.DialogResult = DialogResult.OK;

            this.Close();
        }
예제 #3
0
        private void _oktButton_Click(object sender, EventArgs e)
        {
            Data.ConnectionDetails connectionDetails = new Data.ConnectionDetails();
            connectionDetails.Server   = _serverNameTextbox.Text;
            connectionDetails.Database = _databaseTextbox.Text;
            if (_authenticationList.SelectedIndex == 0)
            {
                connectionDetails.AuthenticationStyle = ClickAndQuery.Data.AuthenticationStyle.Integrated;
            }
            else
            {
                connectionDetails.AuthenticationStyle = ClickAndQuery.Data.AuthenticationStyle.Server;
                connectionDetails.User = _usernameTextbox.Text;
                connectionDetails.Pwd  = _passwordTextbox.Text;
            }
            try
            {
                string [] sources           = { connectionDetails.Server, connectionDetails.User, connectionDetails.Pwd };
                bool      connectionHasTags = TaggedItems.Extract(TaggedItems.ExtractPolicy.CoalesceSameNameTags, sources).Count > 0;

                if (!connectionHasTags)
                {
                    connectionDetails.Connect().Dispose();                     // test connection.
                }

                //
                // Transfer details over to real data source object.
                _connectionDetails.Server              = connectionDetails.Server;
                _connectionDetails.Database            = connectionDetails.Database;
                _connectionDetails.AuthenticationStyle = connectionDetails.AuthenticationStyle;
                _connectionDetails.User = connectionDetails.User;
                _connectionDetails.Pwd  = connectionDetails.Pwd;

                DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
예제 #4
0
        public ConnectionDetailsForm(Data.ConnectionDetails connectionDetails)
        {
            InitializeComponent();

            _connectionDetails      = connectionDetails;
            _serverNameTextbox.Text = connectionDetails.Server;
            _databaseTextbox.Text   = connectionDetails.Database;
            switch (connectionDetails.AuthenticationStyle)
            {
            case ClickAndQuery.Data.AuthenticationStyle.Integrated:
                _authenticationList.SelectedIndex = 0;
                break;

            case ClickAndQuery.Data.AuthenticationStyle.Server:
                _authenticationList.SelectedIndex = 1;
                _usernameTextbox.Text             = connectionDetails.User;
                _passwordTextbox.Text             = connectionDetails.Pwd;
                break;

            default:
                throw new NotImplementedException();
            }
        }
예제 #5
0
        private void ExecuteQuery()
        {
            try
            {
                if (_document.Query.Length > 0)
                {
                    if (string.IsNullOrEmpty(_document.ConnectionDetails.Database))
                    {
                        if (
                            MessageBox.Show(this,
                                            "Connection needs to be opened first, ppen Connection to a database?", _originalCaption, MessageBoxButtons.OKCancel) == DialogResult.Cancel ||
                            !ShowConnectionDetailsForm())
                        {
                            return;
                        }
                    }
                    Data.ConnectionDetails cd = _document.ConnectionDetails.Clone();
                    List <string>          taggableSources = new List <string>(new string[] { cd.Server, cd.User, cd.Pwd });
                    bool connectionHasTags = TaggedItems.Extract(TaggedItems.ExtractPolicy.CoalesceSameNameTags, taggableSources.ToArray()).Count > 0;

                    if (!connectionHasTags)
                    {
                        taggableSources.Clear();
                    }
                    taggableSources.Add(_document.Query);
                    List <TaggedItems.Tag> tags = TaggedItems.Extract(TaggedItems.ExtractPolicy.CoalesceSameNameTags, taggableSources.ToArray());
                    if (FillTagValues(tags))
                    {
                        SqlConnection sqlConnection;
                        if (connectionHasTags)
                        {
                            if (_sqlConnection != null)
                            {
                                _sqlConnection.Dispose();
                                _sqlConnection = null;
                            }
                            cd.User       = TaggedItems.Replace(cd.User, tags);
                            cd.Server     = TaggedItems.Replace(cd.Server, tags);
                            cd.Pwd        = TaggedItems.Replace(cd.Pwd, tags);
                            sqlConnection = cd.Connect();
                        }
                        else
                        {
                            if (_sqlConnection == null)
                            {
                                _sqlConnection = _document.ConnectionDetails.Connect();
                            }
                            sqlConnection = _sqlConnection;
                        }

                        SqlCommand command = new SqlCommand(TaggedItems.Replace(_document.Query, tags), sqlConnection);

                        _resultsControl.ExecuteReader(command, connectionHasTags ? CommandBehavior.CloseConnection : CommandBehavior.Default);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(this, e.Message);
            }
        }
예제 #6
0
		private void _AcceptButton_Click(object sender, System.EventArgs e)
		{
			Data.ConnectionDetails oDetails = new Data.ConnectionDetails(
				_ServerNameTextBox.Text,
				_DBNameTextBox.Text,
				_UseIntegratedAuthentication.Checked ? Data.DatabaseConnectionType.WindowsIntegrated : Data.DatabaseConnectionType.SQLAuthentication,
				_SQLUsernameTextBox.Text,
				_SQLPasswordTextBox.Text, 
				Convert.ToInt32(_CommandTimeoutUpDown.Value));
				
			_ConnectionDetails = oDetails;

			this.DialogResult = DialogResult.OK;

			this.Close();
		}