關於查詢sql語句的寫法:
string strSql = @"select layName , i.MetaDate.extract('//Metadata').getStringVal() as truename from METADATE i where fileName = ' nihao' ";
如何得到結果:
string strSql = @"select layName , i.MetaDate.extract('//Metadata').getStringVal() as truename from METADATE i where" +
SQL;
string strConnect = DBHelper.ConnectionString;
OracleParameter[] ops = new OracleParameter[] { new OracleParameter("layer", OracleType.VarChar) };
OracleDataReader oracleDateReader = DBManager.DBUitity.OracleHelper.ExecuteReader(strConnect, CommandType.Text, strSql, ops);
while (oracleDateReader.Read())
{
metaDictionary.Add(oracleDateReader.GetString(0), oracleDateReader.GetString(1));
}
模糊查找的sql的寫法:
sql = " upper(i.MetaDate.extract('//" + elementName_node + "/text()').getStringVal()) like '%'||'" + value + "'||" + "'%'" + connector;
創造一個元數據表:
string sql = "create table METADATE (id number, layName varchar2(20), MetaDate sys.xmltype)";
插入一條記錄:
string strSql = @"insert into METADATE (ID,layName,MetaDate) values ( 1, '" + layerName + "',sys.xmlType.createXML('" + xmlContend + "'))";//where i.xmldoc.extract('//name/a/@id').getStringVal() = 1";
更新一條記錄:
string strSql = @"update METADATE set METADATE=updateXML(METADATE,'//" + rootElement + "','" + newValue + "') where " + "layName=" + "'" + layerName + "'";