コード例 #1
0
        public object Clone()
        {
            EPJoin obj = new EPJoin();

            obj.field1 = (EPField)field1.Clone();
            obj.field2 = (EPField)field2.Clone();
            return(obj);
        }
コード例 #2
0
        public void AddJoin(EPJoin join)
        {
            int n;

            if (JoinFields == null)
            {
                n          = 0;
                JoinFields = new EPJoin[1];
            }
            else
            {
                n = JoinFields.Length;
                EPJoin[] a = new EPJoin[n + 1];
                for (int i = 0; i < n; i++)
                {
                    a[i] = JoinFields[i];
                }
                JoinFields = a;
            }
            JoinFields[n] = join;
        }
コード例 #3
0
        public void AddJoinFields(EPField mnField, EPField sbField)
        {
            int n;

            if (JoinFields == null)
            {
                JoinFields = new EPJoin[1];
                n          = 0;
            }
            else
            {
                n = JoinFields.Length;
                EPJoin[] a = new EPJoin[n + 1];
                for (int i = 0; i < n; i++)
                {
                    a[i] = JoinFields[i];
                }
                JoinFields = a;
            }
            JoinFields[n]        = new EPJoin();
            JoinFields[n].field1 = mnField;
            JoinFields[n].field2 = sbField;
        }
コード例 #4
0
 private void btOK_Click(object sender, System.EventArgs e)
 {
     try
     {
         bool   bOK = false;
         EPJoin J;
         join = new TableRelation();
         if (rdoInner.Checked)
         {
             join.Relation = enmTableRelation.INNER;
         }
         else if (radioButton1.Checked)
         {
             join.Relation = enmTableRelation.LEFT;
         }
         else
         {
             //no join
             join              = new TableRelation();
             join.Relation     = enmTableRelation.NONE;
             join.Table2       = lblTable.Text;
             this.DialogResult = System.Windows.Forms.DialogResult.OK;
             Close();
             return;
         }
         string     s;
         EPField    fld = null;
         TableAlias tbl;
         for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
         {
             bOK = false;
             J   = new EPJoin();
             s   = ds.Tables[0].Rows[i][0].ToString();
             if (s.Length > 0)
             {
                 if (srcType == enumRecSource.Table)
                 {
                     fld = newTable.FindField(s);
                 }
                 else if (srcType == enumRecSource.View)
                 {
                     fld = newView.FindField(s);
                 }
                 if (fld != null)
                 {
                     J.field2 = (EPField)fld.Clone();
                     J.field2.FromTableName = lblTable.Text;
                     s   = ds.Tables[0].Rows[i][1].ToString();
                     tbl = parser.query.T[s];
                     if (tbl != null)
                     {
                         s        = ds.Tables[0].Rows[i][2].ToString();
                         J.field1 = tbl.FindField(s);
                         if (J.field1 != null)
                         {
                             J.field1.FromTableName = tbl.TableName;
                             join.AddJoin(J);
                             bOK = true;
                         }
                     }
                 }
             }
             if (!bOK)
             {
                 break;
             }
         }
         if (!bOK)
         {
             MessageBox.Show(this, Resource1.addT3, this.Text, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop);
         }
         else if (join.FieldCount <= 0)
         {
             MessageBox.Show(this, Resource1.addT4, this.Text, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop);
         }
         else
         {
             this.DialogResult = System.Windows.Forms.DialogResult.OK;
             Close();
         }
     }
     catch (Exception er)
     {
         MessageBox.Show(this, er.Message, this.Text, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop);
     }
 }