Beispiel #1
0
        private void btnFind_Click(object sender, EventArgs e)
        {
            btnFind.Enabled = false;

            try
            {
                string[] FindStr  = new string[5];
                string   Database = Application.StartupPath + @"\DataBase\" + "SDAF" + DataOperate.CurrentDataBase.ToString().ToString() + ".mdb";

                for (int i = 0; i < 5; i++)
                {
                    FindStr[i] = "";
                }

                if (!File.Exists(Database))
                {
                    MessageBox.Show(DataOperate.CurrentDataBase.ToString() + Properties.Resources.DataNotExist, Properties.Resources.HintCaption, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }

                string strSQL = "SELECT * FROM  TestData  ";

                if (chkAutoNo.Checked && cmbAutoNo.Text.Trim() != "")
                {
                    if (cmbAutoNo.Text.Trim() == "like")
                    {
                        FindStr[0] = " TestData.[自动编号] LIKE '%" + edtAutoNo.Text + "%'";
                    }
                    else
                    {
                        FindStr[0] = " TestData.[自动编号]  = '" + edtAutoNo.Text + "' ";
                    }
                }

                if (chkManualNo.Checked)
                {
                    if (edtTestType.Text == "")
                    {
                        FindStr[1] = " TRUE";
                    }
                    else
                    {
                        FindStr[1] = " TestData.[人工编号] LIKE '%" + edtTestType.Text + "%'";
                    }
                }

                if (chkTestType.Checked)
                {
                    FindStr[4] = " TestData.[实验类型] = '" + cmbTestType.Text + "'";
                }

                if (chkTestData.Checked && cmbTestDate.Text.Trim() != "")
                {
                    if (cmbTestDate.SelectedIndex == 3)
                    {
                        FindStr[2] = " TestData.[实验日期] >= #" + picTestDate1.Value.ToString("yyyy-MM-dd") + "# AND TestData.[实验日期] <= #" + picTestDate2.Value.ToString("yyyy-MM-dd") + "#";
                    }
                    else
                    {
                        FindStr[2] = " TestData.[实验日期] " + cmbTestDate.Text + " #" + picTestDate2.Value.ToString("yyyy-MM-dd") + "#";
                    }
                }


                if (chkRestult.Checked && cmbResult.Text.Trim() != "")
                {
                    if (cmbResultType.Text != "")
                    {
                        String tmptResutlType = "压应力 落高 药量 温度变化 气体变化";
                        switch (cmbResultType.SelectedIndex)
                        {
                        case 0:
                            tmptResutlType = "压应力";
                            break;

                        case 1:
                            tmptResutlType = "落高";
                            break;

                        case 2:
                            tmptResutlType = "药量";
                            break;

                        case 3:
                            tmptResutlType = "温度变化";
                            break;

                        case 4:
                            tmptResutlType = "气体变化";
                            break;
                        }
                        int t = int.Parse(edtResult2.Text.Trim());
                        if (cmbResult.SelectedIndex != 3)
                        {
                            FindStr[3] = " TestData.[" + tmptResutlType + "]" + cmbResult.Text + t.ToString();
                        }
                        else
                        {
                            int    min = int.Parse(edtResult1.Text.Trim());
                            int    max = int.Parse(edtResult2.Text.Trim());
                            String strMin;
                            String strMax;

                            strMin = " TestData.[" + tmptResutlType + "] >" + min.ToString();


                            strMax = " TestData.[" + tmptResutlType + "] <" + max.ToString();


                            FindStr[3] = "(" + strMin + ") AND (" + strMax + ")";
                        }
                    }
                }
                string tmp = "";
                for (int i = 0; i < 5; i++)
                {
                    if (FindStr[i] != "")
                    {
                        tmp += " AND " + FindStr[i];
                    }
                }
                if (tmp != "")
                {
                    strSQL = strSQL + " WHERE TRUE  " + tmp + " ORDER BY TestData.[实验日期],TestData.[自动编号]";
                    DataOperate.ExecuteSQL(strSQL, Database, DataOperate.SqlOrder.Find);
                }
            }
            catch
            {
                MessageBox.Show(Properties.Resources.DataSearchErr, Properties.Resources.HintCaption, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            btnFind.Enabled = true;
        }