Example #1
0
        // pick a new connection
        private void EhChooseConnection()
        {
            // release mouse capture to avoid wait cursor
            //	_toolStrip.Capture = false;

            // get starting connection string
            // (if empty or no provider, start with SQL source as default)
            var connectionChoice = _connectionStringList.FirstSelectedNode;
            AltaxoOleDbConnectionString axoConnString = null != connectionChoice ? (AltaxoOleDbConnectionString)connectionChoice.Tag : AltaxoOleDbConnectionString.Empty;

            var connString = axoConnString.OriginalConnectionString;

            if (string.IsNullOrEmpty(connString) || connString.IndexOf("provider=", StringComparison.OrdinalIgnoreCase) < 0)
            {
                connString = "Provider=SQLNCLI11.1;";
            }

            // let user change it
            var newConnString = OleDbConnString.EditConnectionString(connString);

            if (string.IsNullOrEmpty(newConnString))
            {
                return;
            }

            ConnectionString = new AltaxoOleDbConnectionString(newConnString, null);
        }
Example #2
0
        private bool IsConnectionStringValid(ref AltaxoOleDbConnectionString connString)
        {
            string error;

            if (null == connString || connString.IsEmpty)
            {
                return(false);
            }

            if (null == (error = CanEstablishConnectionWithConnectionString(connString.ConnectionStringWithTemporaryCredentials)))
            {
                return(true);
            }

            for (; ;)
            {
                if (!Current.Gui.YesNoMessageBox(
                        string.Format(
                            "Could not connect to data base using the following connection string:\r\n" +
                            "{0}\r\n" +
                            "Error message:\r\n" +
                            "{1}\r\n" +
                            "Do you want to try again with different credentials?", connString, error),
                        "Database connection failed", true))
                {
                    return(false);
                }

                var credentials = new LoginCredentials(string.Empty, string.Empty);
                try
                {
                    credentials = connString.GetCredentials();
                }
                catch (Exception)
                {
                }
                if (!Current.Gui.ShowDialog(ref credentials, "New credentials for database connection", false))
                {
                    return(false);
                }

                connString = new AltaxoOleDbConnectionString(connString.OriginalConnectionString, credentials);

                if (null == (error = CanEstablishConnectionWithConnectionString(connString.ConnectionStringWithTemporaryCredentials)))
                {
                    return(true);
                }
            }
        }
Example #3
0
 public StringValidIndicator(AltaxoOleDbConnectionString connectionString, bool isValid)
 {
     _connectionString        = connectionString;
     _isConnectionStringValid = isValid;
 }
Example #4
0
 private void EhConnectionStringChangedByUser(string newConnectionString)
 {
     ConnectionString = new AltaxoOleDbConnectionString(newConnectionString, null);
 }
Example #5
0
        private static void RemoveConnectionStringFromList(SelectableListNodeList list, AltaxoOleDbConnectionString connString)
        {
            // look for item in the list
            var index = list.IndexOfFirst(x => connString.OriginalConnectionString == ((AltaxoOleDbConnectionString)x.Tag).OriginalConnectionString);

            if (index >= 0)
            {
                list.RemoveAt(index);
            }
        }
Example #6
0
        private static int InsertConnectionStringAtBeginningOfList(SelectableListNodeList list, AltaxoOleDbConnectionString connString)
        {
            // look for item in the list
            var index = list.IndexOfFirst(x => connString.OriginalConnectionString == ((AltaxoOleDbConnectionString)x.Tag).OriginalConnectionString);

            // add good values to the list
            if (index < 0) // was not before in the list
            {
                list.ClearSelectionsAll();
                list.Insert(0, new SelectableListNode(connString.OriginalConnectionString, connString, true));
                index = 0;      // inserted at index 0
            }
            else if (index > 0) // was in the list before
            {
                list.ClearSelectionsAll();
                list.RemoveAt(index);
                list.Insert(0, new SelectableListNode(connString.OriginalConnectionString, connString, true));
                index = 0;
            }

            // trim list
            while (list.Count > _cmbConnStringMaxDropDownItems)
            {
                list.RemoveAt(list.Count - 1);
            }

            return(index);
        }