private void toolStripButton8_Click(object sender, EventArgs e) { if (toolStripTextBox1.Text.Length == 0) { MessageBox.Show("查询信息不能为空"); return; } Int32 layerCount = mapControl1.Map.Layers.Count; if (layerCount == 0) { MessageBox.Show("请先打开一个矢量数据集!"); return; } string dl = toolStripComboBox1.SelectedItem.ToString(); string nf = toolStripComboBox2.SelectedItem.ToString(); string year; if (nf == "2000") { year = "00"; } else { year = "09"; } string tj = toolStripTextBox1.Text; string sql = dl + year + tj; QueryParameter queryParameter = new QueryParameter(); queryParameter.AttributeFilter = sql; queryParameter.CursorType = CursorType.Static; Boolean hasGeometry = false; DatasetVector dataset = SampleRun.workspace1.Datasources[0].Datasets["盘锦行政区划"] as DatasetVector; Recordset recordset = dataset.Query(queryParameter); if (recordset.RecordCount > 0) { hasGeometry = true; } Selection selection = SampleRun.mapControl1.Map.Layers[0].Selection; selection.FromRecordset(recordset); recordset.Dispose(); if (!hasGeometry) { MessageBox.Show("没有符合查询条件的结果或查询条件有误,请重新确认后查询!"); } queryParameter.Dispose(); mapControl1.Refresh(); hasGeometry = false; }
private void buttonX1_Click(object sender, EventArgs e) { if (textBoxX1.Text.Length == 0) { MessageBox.Show("查询信息不能为空"); return; } Int32 layerCount = SampleRun.mapControl1.Map.Layers.Count; if (layerCount == 0) { MessageBox.Show("请先打开一个矢量数据集!"); return; } QueryParameter queryParameter = new QueryParameter(); queryParameter.AttributeFilter = textBoxX1.Text; queryParameter.CursorType = CursorType.Static; Boolean hasGeometry = false; foreach (Layer layer in SampleRun.mapControl1.Map.Layers) { DatasetVector dataset = layer.Dataset as DatasetVector; if (dataset == null) { continue; } Recordset recordset = dataset.Query(queryParameter); if (recordset.RecordCount > 0) { hasGeometry = true; } Selection selection = layer.Selection; selection.FromRecordset(recordset); recordset.Dispose(); } if (!hasGeometry) { MessageBox.Show("没有符合查询条件的结果或查询条件有误,请重新确认后查询!"); } queryParameter.Dispose(); SampleRun.mapControl1.Refresh(); hasGeometry = false; this.Close(); }
private void buttonX1_Click(object sender, EventArgs e) { if (textBoxX1.Text.Length == 0) { MessageBox.Show("查询信息不能为空"); return; } Int32 layerCount = SampleRun.mapControl1.Map.Layers.Count; if (layerCount == 0) { MessageBox.Show("请先打开一个矢量数据集!"); return; } string fh = comboBoxEx3.SelectedItem.ToString(); string tx = textBoxX1.Text.ToString(); string sql = tc + fh + tx; QueryParameter queryParameter = new QueryParameter(); queryParameter.AttributeFilter = sql; queryParameter.CursorType = CursorType.Static; Boolean hasGeometry = false; DatasetVector dataset = SampleRun.mapControl1.Map.Layers[nm].Dataset as DatasetVector; Recordset recordset = dataset.Query(queryParameter); if (recordset.RecordCount > 0) { hasGeometry = true; } Selection selection = SampleRun.mapControl1.Map.Layers[nm].Selection; selection.FromRecordset(recordset); recordset.Dispose(); if (!hasGeometry) { MessageBox.Show("没有符合查询条件的结果或查询条件有误,请重新确认后查询!"); } queryParameter.Dispose(); SampleRun.mapControl1.Refresh(); hasGeometry = false; this.Close(); }
private void toolStripSQLQuery_Click(object sender, EventArgs e) { //判断toolStripTextBox1的输入内容是否为空 if (toolStripTextBox1.Text.Length == 0) { MessageBox.Show("查询信息不能为空"); return; } //定义图层个数 Int32 layerCount = mapControl1.Map.Layers.Count; //判断当前地图窗口中是否有打开的图层 if (layerCount == 0) { MessageBox.Show("请先打开一个矢量数据集!"); return; } //定义查询条件信息; QueryParameter queryParameter = new QueryParameter(); queryParameter.AttributeFilter = toolStripTextBox1.Text; queryParameter.CursorType = CursorType.Static; Boolean hasGeometry = false; //遍历每一个图层,实现多图层查询 foreach (Layer layer in mapControl1.Map.Layers) { //得到矢量数据集并强制转换为矢量数据集类型 DatasetVector dataset = layer.Dataset as DatasetVector; if (dataset == null) { continue; } //通过查询条件对矢量数据集进行查询,从数据集中查询出属性数据, Recordset recordset = dataset.Query(queryParameter); //判断是否有查询结果 if (recordset.RecordCount > 0) { hasGeometry = true; } //把查询得到的数据加入到选择集中(使其高亮显示) Selection selection = layer.Selection; selection.FromRecordset(recordset); recordset.Dispose(); } //没有查询结果,弹出提示 if (!hasGeometry) { MessageBox.Show("没有符合查询条件的结果或查询条件有误,请重新确认后查询!"); } //当可创建对象使用完毕后,使用Dispose方法来释放所占用的内部资源。 queryParameter.Dispose(); //刷新地图窗口显示 mapControl1.Refresh(); hasGeometry = false; }