Exemplo n.º 1
0
        public DataSet FindWordsAA(string strQuery)
        {
            if (strQuery.Trim() == string.Empty)
            {
                return(null);
            }

            DataSet dsSplitString = TTextProcess.SplitString(strQuery, TTextProcess.enmsf_StrFilter.sf_CapitalizeSmart | TTextProcess.enmsf_StrFilter.sf_DenyStopWords, TSWDB_Decl.CMAX_WORD_LENGTH);

            EXException.CheckEXError(dsSplitString != null, "EX-{60B7D234-F4CB-4f5e-B8CF-988023368446}");
            if (dsSplitString.Tables[0].Rows.Count <= 0)
            {
                return(null);
            }

            DataSet dsResult = CreateSWDB_SearchTableWordsSchema();

            string strCurrentWord = string.Empty;

            System.Collections.IEnumerator enumerator = dsSplitString.Tables[0].Rows.GetEnumerator();
            while (enumerator.MoveNext())
            {
                strCurrentWord = ((enumerator.Current) as DataRow)[0].ToString();
                dsResult.Tables[0].Rows.Add(new object[] { strCurrentWord, FindWordAA(strCurrentWord) });
            }

            return(dsResult);
        }
Exemplo n.º 2
0
 public static SqlCommand DBStoredProcPrepare(SqlConnection sqlConOfSP, string strStoredProcName,
                                              string[] strArrParametersNames,
                                              object[] objArrParametersValues)
 {
     try
     {
         SqlCommand sqcmResult = DBCreateSimpleStoredProc(sqlConOfSP, strStoredProcName);
         sqcmResult.CommandTimeout = sqlConOfSP.ConnectionTimeout;
         if ((strArrParametersNames != null) && (objArrParametersValues != null))
         {
             int intArrParNamesCount = strArrParametersNames.GetLength(0) - 1;
             int intParNamesCount    = objArrParametersValues.GetLength(0) - 1;
             EXException.CheckEXError(intArrParNamesCount == intParNamesCount, "Ο αριθμός των παραμέτρων με τον αριθμό των τιμών δεν είναι ίδιος.\n[EX-{74052B8F-FBBD-4e43-B50A-9F9E5DBE9970}]");
             for (int intCounter1 = 0; intCounter1 <= intArrParNamesCount; intCounter1++)
             {
                 sqcmResult.Parameters[strArrParametersNames[intCounter1]].Value = objArrParametersValues[intCounter1];
             }
         }
         sqcmResult.CommandTimeout = sqlConOfSP.ConnectionTimeout;
         return(sqcmResult);
     }
     catch (Exception exc)
     {
         EXException.ThrowEXException(string.Format("Πρόβλημα στην προετοιμασία της Stored Procedure [{0}].", strStoredProcName), exc);
         return(null);                //never gets here
     }
 }
Exemplo n.º 3
0
 public SWPageRankVisitor(SqlConnection dblgLogin, int intInStepUrls,
                          int inIntHowManyLoops,
                          SWRankHandler inRankHandler, float InPagerankDparameter) : base(dblgLogin, intInStepUrls, inIntHowManyLoops)
 {
     RankHandler        = inRankHandler;
     UrlInfo            = new SWUrlInfoCache(dblgLogin);
     PageRankDParameter = InPagerankDparameter;           //0.85 usually
     EXException.CheckEXError((PageRankDParameter > 0.0f) && (PageRankDParameter < 1.0f), "Problem with D Parameter in PageRank.");
 }
Exemplo n.º 4
0
        public string SQLBasicStm_FindURLSWithWordsAA(string strQuery, int intMAXWordsToSearch, out DataSet dsFindWordsAA)
        {
            StringBuilder sbResult = new StringBuilder(string.Empty);

            dsFindWordsAA = FindWordsAA(strQuery);

            if (dsFindWordsAA == null)
            {
                return(string.Empty);
            }

            DataRow[] dtarRows = dsFindWordsAA.Tables[0].Select(CSWDB_Search_WordAA + " > 0");

            if (dtarRows.Length <= 0)
            {
                return(string.Empty);
            }

            //int intCurrentWordAA = 0;
            int int_dtarRows_Length = dtarRows.Length;

            EXException.CheckEXError(int_dtarRows_Length <= intMAXWordsToSearch, "Ο αριθμός των λέξεων προς αναζήτηση είναι μεγαλύτερος του επιτρεπόμενου. Παρακαλώ ξαναπροσπαθήστε με λιγότερες λέξεις.");
            for (int intCurrentWordAA = 1; intCurrentWordAA <= int_dtarRows_Length; intCurrentWordAA++)
            {
                if (intCurrentWordAA == 1)
                {
                    sbResult.Append("SELECT t1.SWUW_CDUR_URLID AS SWUW_CDUR_URLID,");
                }
                sbResult.Append(string.Format("t{0}.SWUW_AppearCount AS SWUW_AppearCount_t{0},", intCurrentWordAA));
            }
            sbResult.Remove(sbResult.Length - 1, 1);

            int intCurrWordAA = 0;

            System.Collections.IEnumerator enumerator = dtarRows.GetEnumerator();
            while (enumerator.MoveNext())
            {
                intCurrWordAA++;
                if (intCurrWordAA == 1)
                {
                    sbResult.Append(" FROM ");
                }
                else
                {
                    sbResult.Append(" INNER JOIN ");
                }
                sbResult.Append(string.Format(" ( SELECT SWUW_CDUR_URLID, SWUW_AppearCount FROM SW_UW_UrlLinkWord WITH (nolock) WHERE (SWUW_SWWDAA = {0})) t{1} ", Convert.ToInt32(((enumerator.Current) as DataRow)[1]), intCurrWordAA));
                if (intCurrWordAA > 1)
                {
                    sbResult.Append(string.Format(" ON t{0}.SWUW_CDUR_URLID = t{1}.SWUW_CDUR_URLID  ", intCurrWordAA - 1, intCurrWordAA));
                }
            }
            return(sbResult.ToString().Trim());
        }
Exemplo n.º 5
0
        public int NewUser(string strUser, string strPassword)
        {
            sqcm_NewUser.Parameters["@strUser"].Value     = strUser.Trim();
            sqcm_NewUser.Parameters["@strPassword"].Value = strPassword.Trim();
            sqcm_NewUser.Parameters["@intUserID"].Value   = 0;
            sqcm_NewUser.ExecuteNonQuery();
            int intResult = Convert.ToInt32(sqcm_NewUser.Parameters["@intUserID"].Value);

            EXException.CheckEXError(intResult > 0, (intResult == -1?"Ο χρήστης υπάρχει ήδη.":"Άγνωστο πρόβλημα κατα την εισαγωγή του χρήστη."));
            return(intResult);
        }
Exemplo n.º 6
0
        public int CheckUser(string strUser, string strPassword)
        {
            sqcm_CheckUser.Parameters["@strUser"].Value     = strUser.Trim();
            sqcm_CheckUser.Parameters["@strPassword"].Value = strPassword.Trim();
            sqcm_CheckUser.Parameters["@intUserID"].Value   = 0;
            sqcm_CheckUser.ExecuteNonQuery();
            int intResult = Convert.ToInt32(sqcm_CheckUser.Parameters["@intUserID"].Value);

            EXException.CheckEXError(intResult > 0, (intResult == -1?"Δεν βρέθηκε ο χρήστης.":(intResult == -2?"Δεν βρέθηκε το password.":"Άγνωστο πρόβλημα κατα τον έλεγχο του χρήστη.")));
            return(intResult);
        }
Exemplo n.º 7
0
        static public string DecodeHexStrToStr(string strHex)
        {
            if (strHex == string.Empty)
            {
                return(string.Empty);
            }
            try
            {
                int intNum1 = strHex.Length;
                EXException.CheckEXError((intNum1 % 4) == 0, "EX {30CF8C85-C636-4f3e-B97E-3D3E02B433FE}");
                StringBuilder sbResult = new StringBuilder(new string(' ', intNum1 / 4));
                //sbResult.Length=intNum1*4;
                //sbResult.EnsureCapacity(intNum1*4);

                intNum1--;

                for (int intCounter1 = 0; intCounter1 <= intNum1; intCounter1 = intCounter1 + 4)
                {
                    string chStringChar1 = new string(strHex[intCounter1], 1);
                    string chStringChar2 = new string(strHex[intCounter1 + 1], 1);
                    string chStringChar3 = new string(strHex[intCounter1 + 2], 1);
                    string chStringChar4 = new string(strHex[intCounter1 + 3], 1);

                    //byte[] btarrArray = new byte[];

                    byte bt1 = Convert.ToByte(chStringChar1, 16);
                    byte bt2 = Convert.ToByte(chStringChar2, 16);
                    byte bt3 = Convert.ToByte(chStringChar3, 16);
                    byte bt4 = Convert.ToByte(chStringChar4, 16);

                    UInt32 uintChar = 0;
                    TEXCSMath.FourBytesToUInt32(bt1, bt2, bt3, bt4, out uintChar);

                    sbResult[intCounter1 / 4] = (char)uintChar;
                    //chStringChar.
                }

                return(sbResult.ToString());
            }
            catch (Exception exc)
            {
                EXException.ThrowEXException("Πρόβλημα στην αποκωδικοποίηση του HEX αλφαριθμητικού.", exc);
                return(string.Empty);
            }
        }
Exemplo n.º 8
0
        //private		System.Data.SqlClient.SqlCommand SQLCmd_SelectURLsToWordProc;
        //private		System.Data.SqlClient.SqlCommand SQLCmd_GetURLData;


        private void WordProcSingleURL(int intURLID)
        {
            using (SqlCommand sqcm_UrlHasProcessedWords = SQLConSW.CreateCommand())
            {
                //sqcm_UrlHasProcessedWords.Transaction = myWordInsTransaction;
                sqcm_UrlHasProcessedWords.CommandText = "exec dbo.sp_SW_UrlHasProcessedWords " + intURLID.ToString();
                sqcm_UrlHasProcessedWords.ExecuteNonQuery();
            }

            string strURLData = string.Empty;
            //const string CLocalTransName = "Trans_WordProcSingleURL";

            SqlDataAdapter daGETUrlData = new SqlDataAdapter("EXEC dbo.sp_SW_GetURLData " + intURLID.ToString(), SQLConSW.ConnectionString);
            DataSet        dsGetURLData = new DataSet();

            daGETUrlData.Fill(dsGetURLData);

            strURLData = dsGetURLData.Tables[0].Rows[0][0].ToString().Trim();
            strURLData = TEXStrUtl.StripTagsFromHTML(strURLData).Trim();
            if (strURLData == string.Empty)
            {
                return;
            }

            if (TimeAllowsToReport())
            {
                Report(string.Format("Δεδομένα του URL [{0}:\r\n [{1}]", intURLID, strURLData));
            }

            SqlCommand sqcm_ConnectWord = SQLConSW.CreateCommand();

            sqcm_ConnectWord.CommandType = CommandType.StoredProcedure;
            sqcm_ConnectWord.CommandText = "dbo.sp_SW_ConnectWord";
            System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(sqcm_ConnectWord);

            //using (SqlTransaction myWordInsTransaction = SQLConSW.BeginTransaction(IsolationLevel.ReadCommitted,CLocalTransName ))
            //{
            try
            {
                DataSet dsSplitString = TTextProcess.SplitString(strURLData, TTextProcess.enmsf_StrFilter.sf_CapitalizeSmart | TTextProcess.enmsf_StrFilter.sf_DenyStopWords, TSWDB_Decl.CMAX_WORD_LENGTH);
                EXException.CheckEXError(dsSplitString != null, "EX-{A3270330-505B-4eb5-98E2-313AA1879AE6}");
                EXException.CheckEXError(dsSplitString.Tables[0].Rows.Count > 0, "Δεν βρέθηκαν λέξεις. EX-{E06D3CB0-B22F-49e2-87E9-D373704AB80A}");

                using (SqlCommand sqcm_UnconnectURLFromUrlLinkWord = SQLConSW.CreateCommand())
                {
                    //sqcm_UnconnectURLFromUrlLinkWord.Transaction = myWordInsTransaction;
                    sqcm_UnconnectURLFromUrlLinkWord.CommandText = "exec dbo.sp_SW_UnconnectURLFromUrlLinkWord " + intURLID.ToString();
                    sqcm_UnconnectURLFromUrlLinkWord.ExecuteNonQuery();
                }

                //sqcm_ConnectWord.Transaction = myWordInsTransaction;
                System.Collections.IEnumerator enumerator = dsSplitString.Tables[0].Rows.GetEnumerator();

                while (enumerator.MoveNext())
                {
                    if (CancelProcess)
                    {
                        throw new EXUserBreak();
                    }

                    sqcm_ConnectWord.Parameters["@intURLID"].Value       = intURLID;
                    sqcm_ConnectWord.Parameters["@strWord"].Value        = ((enumerator.Current) as DataRow)[TTextProcess.CTPSplitField_Word].ToString();
                    sqcm_ConnectWord.Parameters["@intAppearCount"].Value = Convert.ToInt32(((enumerator.Current) as DataRow)[TTextProcess.CTPSplitField_CountWord]);
                    if (TimeAllowsToReport())
                    {
                        Report(string.Format("Σύνδεση του URL:[{0}] με την λέξη:[{1}] και με συχνότητα εμφάνισης:[{2}].", intURLID,
                                             ((enumerator.Current) as DataRow)[TTextProcess.CTPSplitField_Word].ToString(),
                                             Convert.ToInt32(((enumerator.Current) as DataRow)[TTextProcess.CTPSplitField_CountWord])
                                             ));
                    }
                    sqcm_ConnectWord.ExecuteNonQuery();
                }

                //myWordInsTransaction.Commit();
            }
            catch (Exception exc)
            {
                //myWordInsTransaction.Rollback(CLocalTransName);
                EXException.ThrowEXException("Πρόβλημα κατά την αποκωδικοπόιηση του URL: " + intURLID.ToString(), exc);
            }

            //}
        }