예제 #1
0
 private void btnLogin_Click(
     object sender,
     EventArgs e)
 {
     Cursor = Cursors.WaitCursor;
     switch (chkWinAuth.CheckState)
     {
         case CheckState.Checked:
             AConnection = new Connection();
             AConnection.CreateConnection
                 (
                     txtUsername.Text,
                     txtPassword.Text,
                     cmbServer.Text,
                     cmbDataBase.Text,
                     "WIN");
             break;
         default:
             AConnection = new Connection();
             AConnection.CreateConnection
                 (
                     txtUsername.Text,
                     txtPassword.Text,
                     cmbServer.Text,
                     cmbDataBase.Text,
                     "SQL");
             break;
     }
     ADatabases = new GetDatabases();
     cmbDataBase.DataSource = ADatabases.GetSqlDataBases(AConnection);
     AConnectionIsOpen = AConnection.IsConnectionOpen();
     Cursor = Cursors.Default;
     aformtoConnect.Show();
     this.Hide();
 }
예제 #2
0
        public SqlErrorCapture(
            Connection aConn,
            string aSqlStatement)
        {
            _aConnection = aConn;
            if (_aConnection == null)
            {
                return;
            }
            _aSqlStatement = aSqlStatement;

            aConn.Conn.InfoMessage += (Conn_InfoMessage);
        }
예제 #3
0
 public List<string> GetSqlDataBases(Connection aConn)
 {
     _aTable = new DataTable();
     _list1 = new List<string>();
     try
     {
         _aTable = aConn.ExcuteReader
             (
                 aConn,
                 "SELECT  [name] as DATABASE_NAME FROM [master].[sys].[databases]  order by name");
         foreach (DataRow row in _aTable.Rows)
         {
             _list1.Add(row["DATABASE_NAME"].ToString());
         }
         return _list1;
     }
     catch (Exception ex)
     {
         Console.WriteLine(@"General Exception error with the GetSqlDataBases function, error is:  " + ex);
     }
     return _list1;
 }
예제 #4
0
        public static void ExcuteNonQuery(
            Connection aConn,
            string asqlStmt)
        {
            if (aConn == null)
            {
                return;
            }
            if (aConn.Conn.State == ConnectionState.Closed)
            {
                aConn.Conn.Open();
            }
            SqlCommand command = aConn.Conn.CreateCommand();

            if (asqlStmt != null)
            {
                command.CommandText = asqlStmt;
            }
            if (asqlStmt != null && asqlStmt.Contains("'S'"))
            {
                asqlStmt = asqlStmt.Replace
                    (
                        "'S'",
                        "''''S'");
            }
            command.CommandType = CommandType.Text;

            IAsyncResult result = command.BeginExecuteNonQuery();
            while (!result.IsCompleted)
            {
                Thread.Sleep(100);
            }
            if (!result.IsCompleted)
            {
                return;
            }
            command.EndExecuteNonQuery(result);
        }
예제 #5
0
        public DataTable ExcuteReader(
            Connection aConn,
            String asqlStmt,
            Object aDataObject)
        {
            if (asqlStmt.Contains("'S'"))
            {
                asqlStmt = asqlStmt.Replace
                    (
                        "'S'",
                        "''''S'");
            }
            using (var aDataTable = new DataTable())
            {
                SqlCommand command;
                if (aConn != null)
                {
                    _aSqlErrorCapture = new SqlErrorCapture
                        (
                        aConn,
                        asqlStmt);
                }
                if (aConn != null && aConn.Conn != null)
                {
                    using (command = aConn.Conn.CreateCommand())
                    {
                        command.CommandText = asqlStmt;
                        //String.Format("select * from [dbo].[USER_CONTROL_LAYOUT] where [USER_ID] = '{0}'", aUser_Id);

                        command.CommandType = CommandType.Text;

                        try
                        {
                            SqlDataReader reader = command.ExecuteReader();
                            aDataTable.Load(reader);
                            if (aDataObject != null)
                            {
                                SqlErrorText = "Status: ok";
                            }
                        }
                        catch (SqlException e)
                        {
                            if (!IsConnectionOpen())
                            {
                                //connection closed, open it again.
                                if (aDataObject != null)
                                {
                                    SqlErrorText =
                                        "Status: Error with this SQL request. Trying to reconnect and redo query, Error message is: "
                                        +
                                        e.Message;
                                }
                                try
                                {
                                    aConn.CreateConnection
                                        (
                                            aConn.AUserName,
                                            aConn.APassword,
                                            aConn.AServerAddress,
                                            aConn.ADatabaseName,
                                            aConn.AType);
                                    if (aConn.Conn != null)
                                    {
                                        command = aConn.Conn.CreateCommand();
                                    }
                                    command.CommandText = asqlStmt;
                                    //String.Format("select * from [dbo].[USER_CONTROL_LAYOUT] where [USER_ID] = '{0}'", aUser_Id);

                                    command.CommandType = CommandType.Text;
                                    SqlDataReader reader = command.ExecuteReader();
                                    aDataTable.Load(reader);
                                    Console.Out.WriteLine("Issue with SQL connection: " + e);
                                }
                                catch (Exception ex)
                                {
                                    MessageDialog.Show
                                        (
                                            "Issue with SQL connection \r\n" + ex.InnerException,
                                            "Error",
                                            MessageDialog.MessageBoxButtons.Ok,
                                            MessageDialog.MessageBoxIcon.Error,
                                            "Please Check You Credentials Are Valid" + "\r\n" + ex.StackTrace);
                                }
                            }
                                //removed here to try and stop crashing.
                            else
                            {
                                // else try closing it and going again.
                                if (aDataObject != null)
                                {
                                    SqlErrorText =
                                        "Status: Error with this SQL request. Trying force close connection, open a new connection and redo query, Error message is: "
                                        +
                                        e.Message;
                                }
                                //  MessageBox.Show("Error with this SQL request. Trying force close connection, open a new connection and redo query, Error message is: " + e.Message);
                                try
                                {
                                    aConn.CloseConnection();
                                    aConn.CreateConnection
                                        (
                                            aConn.AUserName,
                                            aConn.APassword,
                                            aConn.AServerAddress,
                                            aConn.ADatabaseName,
                                            aConn.AType);
                                    if (aConn.Conn != null)
                                    {
                                        command = aConn.Conn.CreateCommand();
                                    }
                                    command.CommandText = asqlStmt;
                                    //String.Format("select * from [dbo].[USER_CONTROL_LAYOUT] where [USER_ID] = '{0}'", aUser_Id);

                                    command.CommandType = CommandType.Text;
                                    SqlDataReader reader = command.ExecuteReader();
                                    if (!reader.IsClosed)
                                    {
                                        aDataTable.Load(reader);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MessageDialog.Show
                                        (
                                            "Issue with SQL connection \r\n" + ex.InnerException,
                                            "Error",
                                            MessageDialog.MessageBoxButtons.Ok,
                                            MessageDialog.MessageBoxIcon.Error,
                                            "Please Check You Credentials Are Valid" + "\r\n" + ex.StackTrace);
                                }
                            }
                        }
                    }
                }

                // aSmeCallCon.SQLErrorText = "Error with this SQL request. Trying force close connection, open a new connection and redo query, Error message is: ";
                return aDataTable;
            }
        }
예제 #6
0
        public DataTable ExcuteReader(
            Connection aConn,
            String asqlStmt)
        {
            if (asqlStmt.Contains("'S'"))
            {
                asqlStmt = asqlStmt.Replace
                    (
                        "'S'",
                        "''''S'");
            }
            using (var aDataTable = new DataTable())
            {
                SqlCommand command;
                if (aConn != null && aConn.Conn != null)
                {
                    if (aConn.Conn.State == ConnectionState.Closed)
                    {
                        aConn.Conn.Open();
                    }
                }
                if (aConn != null)
                {
                    _aSqlErrorCapture = new SqlErrorCapture
                        (
                        aConn,
                        asqlStmt);
                }
                if (aConn != null && aConn.Conn != null)
                {
                    using (command = aConn.Conn.CreateCommand())
                    {
                        command.CommandText = asqlStmt;
                        command.CommandType = CommandType.Text;

                        try
                        {
                            if (!IsConnectionOpen())
                            {
                                aConn.CreateConnection
                                    (
                                        aConn.AUserName,
                                        aConn.APassword,
                                        aConn.AServerAddress,
                                        aConn.ADatabaseName,
                                        aConn.AType);
                                if (aConn.Conn != null)
                                {
                                    command = aConn.Conn.CreateCommand();
                                }
                                command.CommandText = asqlStmt;
                                command.CommandType = CommandType.Text;
                                if (command.Connection.State != ConnectionState.Closed)
                                {
                                    SqlDataReader reader = command.ExecuteReader();
                                    aDataTable.Load(reader);
                                }
                                Console.Out.WriteLine("Issue with SQL connection: " + aConn);
                            }
                            else
                            {
                                if (aConn.Conn != null)
                                {
                                    command = aConn.Conn.CreateCommand();
                                }
                                command.CommandText = asqlStmt;
                                command.CommandType = CommandType.Text;
                                try
                                {
                                    command.Connection.FireInfoMessageEventOnUserErrors = true;
                                    SqlDataReader reader = command.ExecuteReader();
                                    aDataTable.Load(reader);
                                }
                                catch (Exception ex)
                                {
                                    MessageDialog.Show
                                        (
                                            "Issue with SQL connection \r\n" + ex.InnerException,
                                            "Error",
                                            MessageDialog.MessageBoxButtons.Ok,
                                            MessageDialog.MessageBoxIcon.Error,
                                            "Please Check You Credentials Are Valid" + "\r\n" + ex.StackTrace);
                                }
                            }
                        }
                        catch (SqlException e)
                        {
                            if (!IsConnectionOpen())
                            {
                                //connection closed, open it again.
                                aConn.CreateConnection
                                    (
                                        aConn.AUserName,
                                        aConn.APassword,
                                        aConn.AServerAddress,
                                        aConn.ADatabaseName,
                                        aConn.AType);
                                if (aConn.Conn != null)
                                {
                                    command = aConn.Conn.CreateCommand();
                                }
                                command.CommandText = asqlStmt;
                                command.CommandType = CommandType.Text;
                                SqlDataReader reader = command.ExecuteReader();
                                aDataTable.Load(reader);
                                MessageDialog.Show
                                    (
                                        "Issue with SQL connection \r\n" + e.InnerException,
                                        "Error",
                                        MessageDialog.MessageBoxButtons.Ok,
                                        MessageDialog.MessageBoxIcon.Error,
                                        "Please Check You Credentials Are Valid" + "\r\n" + e.StackTrace);
                            }
                            else
                            {
                                // else try closing it and going again.

                                aConn.CloseConnection();
                                aConn.CreateConnection
                                    (
                                        aConn.AUserName,
                                        aConn.APassword,
                                        aConn.AServerAddress,
                                        aConn.ADatabaseName,
                                        aConn.AType);
                                if (aConn.Conn != null)
                                {
                                    command = aConn.Conn.CreateCommand();
                                }
                                command.CommandText = asqlStmt;
                                command.CommandType = CommandType.Text;
                                try
                                {
                                    SqlDataReader reader = command.ExecuteReader();
                                    aDataTable.Load(reader);
                                }
                                catch (Exception ex)
                                {
                                    MessageDialog.Show
                                        (
                                            "Issue with SQL connection \r\n" + ex.InnerException,
                                            "Error",
                                            MessageDialog.MessageBoxButtons.Ok,
                                            MessageDialog.MessageBoxIcon.Error,
                                            "Please Check You Credentials Are Valid" + "\r\n" + ex.StackTrace);
                                }
                            }
                        }
                    }
                }

                return aDataTable;
            }
        }
예제 #7
0
        public static object GetValue(
            SqlConnection dc,
            string procedureName,
            DataTable aParameterDataTable,
            Connection appSettings)
        {
            _connection = dc;
            AppSettings = appSettings;
            _mDbServer = AppSettings.AServerAddress;
            _mDbDatabaseName = AppSettings.ADatabaseName;
            _mDbUserId = AppSettings.AUserName;
            _mDbUserPassword = AppSettings.APassword;

            var sqlAdapter = new SqlDataAdapter();
            string strSql = procedureName;
            var holdVals = new DataTable();

            object objValue;

            try
            {
                if ((MTheTransaction == null))
                {
                    OpenConnection();
                }

                sqlAdapter.SelectCommand = new SqlCommand
                    (
                    strSql,
                    _connection)
                                           {
                                               Transaction = MTheTransaction,
                                               CommandTimeout = CCmdTimeOut,
                                               CommandType = CommandType.StoredProcedure
                                           };
                foreach (DataRow dataRow in aParameterDataTable.Rows)
                {
                    //Create the parameters
                    //sqlAdapter.SelectCommand.Parameters.Clear();
                    sqlAdapter.SelectCommand.Parameters.Add
                        (
                            new SqlParameter
                                (
                                dataRow[0].ToString(),
                                dataRow[1].GetType()));
                    sqlAdapter.SelectCommand.Parameters[dataRow[0].ToString()].Value = dataRow[1].ToString();
                    //Set the parameter direction as  input (1) or output (0)
                    sqlAdapter.SelectCommand.Parameters[dataRow[0].ToString()].Direction = dataRow[3].ToString() == "1"
                                                                                               ? ParameterDirection
                                                                                                     .Input
                                                                                               : ParameterDirection
                                                                                                     .Output;
                }

                sqlAdapter.Fill(holdVals);
                objValue = sqlAdapter.SelectCommand.ExecuteScalar();
            }
            catch (Exception)
            {
                return false;
            }

            return objValue ?? (new decimal(0.00));
        }
        public static string BuildInsertQuery(
            List<SqlParameter> sqlParamColl,
            string seqTableName,
            string tableName,
            Connection appsettings,
            object value = null)
        {
            _appsettings = appsettings;
            _aTableName = tableName;
            {
                int i = 1;

                string aSqlQuery = "INSERT INTO " + tableName + " ( ";
                foreach (SqlParameter sqlParameter in sqlParamColl)
                {
                    aSqlQuery = aSqlQuery + sqlParameter.ParameterName;
                    if (i < sqlParamColl.Count)
                    {
                        aSqlQuery = aSqlQuery + ", ";
                        i++;
                    }
                    else
                    {
                        aSqlQuery = aSqlQuery + " ) VALUES( ";
                    }
                }
                i = 1;
                foreach (SqlParameter sqlParameter in sqlParamColl)
                {
                    //Check if PRIMARY exists in Column name from the nth Character if true then Primary - otherwise might be a FK
                    const string stringPrimary = "PRIMARY";
                    string aCheckString = "";
                    if (sqlParameter.ParameterName.Contains("PRIMARY"))
                    {
                        aCheckString =
                            sqlParameter.ParameterName.Substring
                                (
                                    sqlParameter.ParameterName.IndexOf
                                        (
                                            ("_"),
                                            StringComparison.Ordinal) +
                                    1,
                                    7);
                    }
                    else
                    {
                        aSqlQuery = aSqlQuery + "@" + sqlParameter.ParameterName;
                        if (i < sqlParamColl.Count)
                        {
                            aSqlQuery = aSqlQuery + ", ";
                            i++;
                        }
                        else
                        {
                            aSqlQuery = aSqlQuery + " ) ";
                        }
                    }
                    if (stringPrimary != aCheckString && sqlParameter.ParameterName.Contains("PRIMARY"))
                    {
                        sqlParameter.SqlValue = value;

                        aSqlQuery = aSqlQuery + "@" + sqlParameter.ParameterName;
                        if (i < sqlParamColl.Count)
                        {
                            aSqlQuery = aSqlQuery + ", ";
                            i++;
                        }
                        else
                        {
                            aSqlQuery = aSqlQuery + " ) ";
                        }
                    }
                    if (stringPrimary != aCheckString || !sqlParameter.ParameterName.Contains("PRIMARY"))
                    {
                        continue;
                    }
                    int aPrimaryValue = GetSequenceNumber
                        (
                            sqlParameter,
                            seqTableName,
                            _aTableName);
                    sqlParameter.SqlValue = aPrimaryValue;

                    aSqlQuery = aSqlQuery + "@" + sqlParameter.ParameterName;
                    if (i < sqlParamColl.Count)
                    {
                        aSqlQuery = aSqlQuery + ", ";
                        i++;
                    }
                    else
                    {
                        aSqlQuery = aSqlQuery + " ) ";
                    }
                }
                return aSqlQuery;
            }
        }
예제 #9
0
 private void cmbDataBase_BeforeDropDown(
     object sender,
     CancelEventArgs e)
 {
     Cursor = Cursors.WaitCursor;
     switch (chkWinAuth.CheckState)
     {
         case CheckState.Checked:
             AConnection = new Connection();
             AConnection.CreateConnection
                 (
                     txtUsername.Text,
                     txtPassword.Text,
                     cmbServer.Text,
                     "",
                     "WIN");
             break;
         default:
             AConnection = new Connection();
             AConnection.CreateConnection
                 (
                     txtUsername.Text,
                     txtPassword.Text,
                     cmbServer.Text,
                     "",
                     "SQL");
             break;
     }
     ADatabases = new GetDatabases();
     cmbDataBase.DataSource = ADatabases.GetSqlDataBases(AConnection);
     Cursor = Cursors.Default;
 }