📄 query.htm
字号:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<html>
<HEAD>
<script language="javascript">
var t_query;
var t2_query = "";
if (opener) {
t_query = opener.parent.MapFrame;
t2_query = "opener.parent.MapFrame";
} else {
t_query = parent.MapFrame;
t2_query = "parent.MapFrame";
}
var dQuote = '"';
var lastExpr = "";
var currExpr = "";
var sampleList = new Array();
var startpos = 0;
var endpos = 0;
var SampleCount = t_query.selectData.length;
var theIndex = t_query.fieldIndex;
var sampleList = new Array();
var qField = t_query.LayerFields[t_query.fieldIndex] + '="';
var valueTitle = t_query.buttonList[2];
var tempString = "";
if (t_query.showSampleValues) {
for (var i=0;i<SampleCount;i++) {
startpos = t_query.selectData[i].indexOf(qField,0);
startpos = startpos + qField.length;
endpos = t_query.selectData[i].indexOf('"',startpos);
var ftval = parseInt(t_query.LayerFieldType[theIndex]);
//alert(ftval);
if ((ftval>=12) && (ftval<=15)) {
//if ((t_query.LayerFieldType[theIndex].indexOf("12",0)!=-1) || (t_query.LayerFieldType[theIndex].indexOf("13",0)!=-1) || (t_query.LayerFieldType[theIndex].indexOf("14",0)!=-1) || (t_query.LayerFieldType[theIndex].indexOf("15",0)!=-1)) {
// a Character field - needs quotes
var vData = t_query.makeXMLsafe(t_query.selectData[i].substring(startpos,endpos));
sampleList[i] = dQuote + vData + dQuote;
} else if (t_query.LayerFieldType[theIndex]=="91") {
// a Date field - must be formatted
var theDateObj = new Date(parseFloat(t_query.selectData[i].substring(startpos,endpos)));
var d = theDateObj.toUTCString();
sampleList[i] = d.replace(/GMT|UTC/,"");
theDateObj = null;
} else {
// numeric or boolean field - no quotes or formatting
sampleList[i] = t_query.selectData[i].substring(startpos,endpos);
}
}
valueTitle = t_query.buttonList[3];
}
function addString() {
lastExpr = document.QueryStuff.QueryString.value;
qField = document.QueryStuff.QueryField.options[document.QueryStuff.QueryField.selectedIndex].value;
var qOperator = document.QueryStuff.QueryOperator.options[document.QueryStuff.QueryOperator.selectedIndex].value;
var isDateField = false;
var fNum = document.QueryStuff.QueryField.selectedIndex;
var qString = "";
if (t_query.showSampleValues) {
qString = document.QueryStuff.QueryValue.options[document.QueryStuff.QueryValue.selectedIndex].value;
} else {
qString = document.QueryStuff.QueryValue.value;
}
if (t_query.LayerFieldType[fNum].indexOf("12",0)!=-1) {
if (t_query.queryCaseInsensitive) {
// make case insensitive
qString = qString.toUpperCase();
qField = "UPPER(" + qField + ")";
// make case insensitive end
}
if (qString.indexOf(dQuote)==-1) {
qString = dQuote + qString + dQuote;
}
}
if (t_query.LayerFieldType[fNum].indexOf("91",0)!=-1) {
// field used is a date field
isDateField = true;
if (t_query.isArcMapService) {
// if it is also in an ArcMap Service
qString = t_query.formatDate(qString);
} else {
// or it is everything else, so format accordingly
qString = "{ts \"" + t_query.formatDate(qString) + "\"}";
}
}
if ((t_query.LayerFieldType[fNum].indexOf("4",0)!=-1) || (t_query.LayerFieldType[fNum].indexOf("8",0)!=-1) || (t_query.LayerFieldType[fNum].indexOf("6",0)!=-1) || (t_query.LayerFieldType[fNum].indexOf("5",0)!=-1)) {
qString = t_query.convertDecimal(qString);
}
var qString2 = document.QueryStuff.QueryString.value;
var theString;
if ((isDateField) && (t_query.isArcMapService)) {
// if using a date field, make the sql work if in an ArcMap Service
// is the service using a Personal Database?.... isPersonalDatabase is set in ArcIMSparam.js
if (t_query.isPersonalDatabase) {
// set syntax for Personal Database layers
theString = "[" + qField + "] " + qOperator + " #" + qString + "# "; // code for Personal Geodatabase ArcMap Service layers
} else {
// set syntax for layers from all other ArcMap sources
theString = qField + " " + qOperator + " date \"" + qString + "\" "; // code for non-Personal Geodatabase ArcMap Service layers
}
} else {
// not a date field in an ArcMap Service
theString = qField + " " + qOperator + " " + qString;
}
document.QueryStuff.QueryString.value = qString2 + theString;
currExpr = document.QueryStuff.QueryString.value;
}
function sendQuery() {
var theString = document.QueryStuff.QueryString.value;
if (theString!="") {
var ary = new Array("<",">","="," LIKE "," like "," IS "," is ");
var va = 0;
var arylen = ary.length;
for (i=0;i<arylen;i++){
a = ary[i]
s = theString.search(a)
va = va + s
}
if (va == -7){
alert(t_query.msgList[109]);
} else {
sampleList=null;
t_query.sendQueryString(theString);
t=null;
}
} else {
alert(t_query.msgList[110]);
}
}
function addAnd() {
lastExpr = document.QueryStuff.QueryString.value;
var qString2 = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = qString2 + " AND ";
currExpr = document.QueryStuff.QueryString.value;
}
function addOr() {
lastExpr = document.QueryStuff.QueryString.value;
var qString2 = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = qString2 + " OR ";
currExpr = document.QueryStuff.QueryString.value;
}
function addNot() {
lastExpr = document.QueryStuff.QueryString.value;
var qString2 = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = qString2 + "NOT ";
currExpr = document.QueryStuff.QueryString.value;
}
function addLeftPara() {
lastExpr = document.QueryStuff.QueryString.value;
var qString2 = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = qString2 + "(";
currExpr = document.QueryStuff.QueryString.value;
}
function addRightPara() {
lastExpr = document.QueryStuff.QueryString.value;
var qString2 = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = qString2 + ")";
currExpr = document.QueryStuff.QueryString.value;
}
function undoString() {
currExpr = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = lastExpr;
t_query.setQueryString = document.QueryStuff.QueryString.value;
lastExpr = currExpr;
}
function clearString() {
lastExpr = document.QueryStuff.QueryString.value;
document.QueryStuff.QueryString.value = "";
t_query.setQueryString = "";
}
function setUp() {
if (t_query.showSampleValues) {
t_query.fieldIndex = document.QueryStuff.QueryField.selectedIndex;
t_query.setQueryString = document.QueryStuff.QueryString.value;
var theField = t_query.LayerFields[t_query.fieldIndex];
//alert(theField);
t_query.tempGetSamples(theField);
t_query.writeQueryForm();
}
}
function changeToSamples() {
t_query.fieldIndex = document.QueryStuff.QueryField.selectedIndex;
t_query.setQueryString = document.QueryStuff.QueryString.value;
t_query.tempGetSamples(t_query.LayerFields[t_query.fieldIndex]);
}
function toggleCaseInsens(){
t_query.queryCaseInsensitive = document.QueryStuff.setCaseInsensitive.checked;
}
document.writeln(' </head><body link="Blue" vlink="Blue" alink="Blue" leftmargin=0 topmargin=0 bgcolor="' + t_query.textFrameBackColor + '" onload="window.focus(); ' + t2_query + '.queryOpen=true;" onunload="' + t2_query + '.queryOpen=false;">');
document.writeln(' <center>');
document.writeln(' <form name="QueryStuff" onsubmit="sendQuery();return false;">');
document.writeln(' <font face="Arial" size="-3">');
document.writeln(' <table border="0" cellspacing="0" cellpadding="2" width=100%>');
document.writeln(' <tr><td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '"><font face="Arial" size="-2">' + t_query.msgList[72] + '</font></td>');
document.writeln(' <td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '"><font face="Arial" size="-2">' + t_query.msgList[73] + '</font></td>');
document.writeln(' <td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '"><font face="Arial" size="-2">' + valueTitle + '</font></td>');
document.writeln(' <td rowspan="2" align="CENTER" bgcolor="Silver">');
document.writeln(' <input type="button" name="theAnd" value=" And " onclick="addAnd()">');
document.writeln(' <input type="button" name="theOr" value=" Or " onclick="addOr()"><br>');
document.writeln(' <input type="button" name="theNot" value=" Not " onclick="addNot()">');
document.writeln(' <input type="button" name="theLeft" value=" ( " onclick="addLeftPara()">');
document.writeln(' <input type="button" name="theRight" value=" ) " onclick="addRightPara()">');
document.writeln(' </td>');
document.writeln(' </tr>');
document.writeln(' <tr><td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '">');
document.writeln(' <select name="QueryField" onchange="setUp();">');
for (var i=0;i<t_query.LayerFieldCount;i++) {
document.write('<option value="' + t_query.LayerFields[i] + '"');
if (i==t_query.fieldIndex) document.write(' selected');
// Put Field Alias in form if present
if (t_query.useFieldAlias) {
if (t_query.fieldAliasList[t_query.ActiveLayerIndex].length>0) {
var start=t_query.fieldAliasList[t_query.ActiveLayerIndex].indexOf(t_query.LayerFields[i]+':');
if (start == -1) {
alias=t_query.LayerFields[i];
} else {
start=start+t_query.LayerFields[i].length+1;
var end=t_query.fieldAliasList[t_query.ActiveLayerIndex].indexOf("|",start);
if (end == -1) end = t_query.fieldAliasList[t_query.ActiveLayerIndex].length;
else end=end-start;
alias=t_query.fieldAliasList[t_query.ActiveLayerIndex].substr(start,end);
}
document.writeln('>'+alias);
} else {
document.writeln('>' + t_query.LayerFields[i]);
}
} else {
document.writeln('>' + t_query.LayerFields[i]);
}
// end of Field Alias stuff
}
document.writeln(' </select>');
document.writeln(' </td><td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '">');
document.writeln(' <select name="QueryOperator">');
document.writeln(' <OPTION selected value=" = ">=');
document.writeln(' <option value=" < "><');
document.writeln(' <option value=" > ">>');
document.writeln(' <option value=" <= "><=');
document.writeln(' <option value=" >= ">>=');
document.writeln(' <option value=" LIKE ">LIKE');
//document.writeln(' <option value=" CN ">CN ');
document.writeln(' </select>');
document.writeln(' </td><td align="CENTER" bgcolor="' + t_query.textFrameBackColor + '">');
if (t_query.showSampleValues) {
document.writeln(' <select name="QueryValue">');
for (var i=0;i<SampleCount;i++) {
//document.writeln('<option value=\'' + sampleList[i] + '\'>' + unescape(sampleList[i]));
tempString = t_query.parseEntity(sampleList[i]);
tempString = tempString.replace(/ /g, " ");
document.writeln('<option value=\'' + sampleList[i] + '\'>' + tempString);
}
document.writeln(' </select>');
} else {
document.writeln('<input name="QueryValue" size="25" maxlength="1000" >');
document.writeln(' <input type="button" name="makeList" value="' + t_query.buttonList[4] + '" onclick="changeToSamples()">');
document.writeln(' </td>');
}
document.writeln(' </td>');
document.writeln(' </tr>');
document.writeln(' <tr><td colspan="4" align="center" bgcolor="Black">');
document.writeln(' <input type="button" name="addIt" value="' + t_query.buttonList[5] + '" onclick="addString()">');
document.writeln(' <input type="Text" name="QueryString" size="50" value=\'' + t_query.setQueryString + '\'><br>');
//document.write(' <font face="Arial,Helvetica,sans-serif" size="-2" color="White"><input type="checkbox" name="setCaseInsensitive" value="yes"');
//if (t_query.queryCaseInsensitive) document.write(' checked');
//document.writeln(' onchange="toggleCaseInsens()">Make Query Case Insensitive </font>');
document.writeln(' <input type="submit" value="' + t_query.buttonList[6] + '" name="submit">');
document.writeln(' <input type="button" name="UnDo" value="' + t_query.buttonList[7] + '" onclick="undoString()">');
document.writeln(' <input type="button" name="Clear" value="' + t_query.buttonList[8] + '" onclick="clearString()">');
document.writeln(' </td></tr>');
document.writeln(' </table>');
document.writeln(' </font></center></FORM></body>');
</script>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -