private void readDiagramObjectsByDiagram(DiagramVO diag)
        {
            // Console.WriteLine("readDiagramObjectsByDiagram(): diagramId =" + diag.diagramId);

            string strSQL, strFields, strWhere;

            // 読み込む項目リスト
            strFields =
                "Diagram_ID, Object_ID, RectTop, RectLeft, " +
                "RectRight, RectBottom, Sequence, ObjectStyle, Instance_ID ";

            // WHERE文: DBに対しては主に パッケージID で検索(キー=IDで結合する必要があるため)
            strWhere = " where  Diagram_ID = " + diag.diagramId;

            // SQL文 を作成
            strSQL = "select " + strFields +
                     " from t_diagramobjects  " +
                     strWhere +
                     " ORDER BY  sequence ";

            OleDbCommand dbCom = new OleDbCommand();

            // SQLを実行する
            dbCom.CommandText = strSQL;
            dbCom.Connection  = objConn;

            OleDbDataReader        reader         = dbCom.ExecuteReader();
            List <DiagramObjectVO> retDiagramObjs = new List <DiagramObjectVO>();

            // 結果を表示します。
            while (reader.Read())
            {
                DiagramObjectVO diagObj = new DiagramObjectVO();

                diagObj.changed     = ' ';
                diagObj.diagramId   = DbUtil.readIntField(reader, 0);
                diagObj.objectId    = DbUtil.readIntField(reader, 1);
                diagObj.rectTop     = DbUtil.readIntField(reader, 2);
                diagObj.rectLeft    = DbUtil.readIntField(reader, 3);
                diagObj.rectRight   = DbUtil.readIntField(reader, 4);
                diagObj.rectBottom  = DbUtil.readIntField(reader, 5);
                diagObj.sequence    = DbUtil.readIntField(reader, 6);
                diagObj.objectStyle = DbUtil.readStringField(reader, 7);
                diagObj.instanceId  = DbUtil.readIntField(reader, 8);


                // 返却用の要素のリストに追加
                retDiagramObjs.Add(diagObj);
            }
            reader.Close();

            diag.diagramObjects = retDiagramObjs;
        }
        private static void outputDiagramObject(DiagramObjectVO diaObjVO, int depth, StreamWriter sw)
        {
            sw.Write(StringUtil.indent(depth) + "<diagramObject ");
            if (diaObjVO.changed != ' ')
            {
                sw.Write("changed=\"" + diaObjVO.changed + "\" ");
            }

            sw.Write("sequence=\"" + diaObjVO.sequence + "\" ");
            sw.Write("objectId=\"" + diaObjVO.objectId + "\" ");
            sw.Write("rectTop=\"" + diaObjVO.rectTop + "\" ");
            sw.Write("rectLeft=\"" + diaObjVO.rectLeft + "\" ");
            sw.Write("rectRight=\"" + diaObjVO.rectRight + "\" ");
            sw.Write("rectBottom=\"" + diaObjVO.rectBottom + "\" ");
            sw.Write("instanceId=\"" + diaObjVO.instanceId + "\" ");
            sw.Write("objectStyle=\"" + StringUtil.escapeXML(diaObjVO.objectStyle) + "\" ");
            sw.WriteLine(" />");
        }
        private static DiagramObjectVO readDiagramObjectNode(XmlNode diagObjNode)
        {
            DiagramObjectVO diagObj = new DiagramObjectVO();

            foreach (XmlAttribute attr in diagObjNode.Attributes)
            {
                switch (attr.Name)
                {
                case "sequence":
                    diagObj.sequence = readAttributeIntValue(attr);
                    break;

                case "objectId":
                    diagObj.objectId = readAttributeIntValue(attr);
                    break;

                case "rectTop":
                    diagObj.rectTop = readAttributeIntValue(attr);
                    break;

                case "rectLeft":
                    diagObj.rectLeft = readAttributeIntValue(attr);
                    break;

                case "rectRight":
                    diagObj.rectRight = readAttributeIntValue(attr);
                    break;

                case "rectBottom":
                    diagObj.rectBottom = readAttributeIntValue(attr);
                    break;

                case "instanceId":
                    diagObj.instanceId = readAttributeIntValue(attr);
                    break;

                case "objectStyle":
                    diagObj.objectStyle = attr.Value;
                    break;
                }
            }

            return(diagObj);
        }