예제 #1
0
파일: proc.cs 프로젝트: MAPCOMDev/ExcelTool
        /// <summary>
        /// [定義] 属性情報:定義
        /// </summary>
        /// <returns>処理結果</returns>
        public bool DatabaseType()
        {
            bool ret = false;

            Init();
            if (_AxProject != null)
            {
                if (_AxProject != null)
                {
                    int nN     = -1;
                    int nLayer = _AxProject.GetNumOfLayer();
                    for (int n = 0; n < nLayer; n++)
                    {
                        PcmAxLib.PcmAutoPcmLayer oLayer = _AxProject.GetLayer(n, true);
                        if (oLayer != null)
                        {
                            if (oLayer.Title == vLayerName)
                            {
                                nN = n;
                                break;
                            }
                        }
                    }

                    if (nN >= 0)
                    {
                        PcmAxLib.PcmAutoPcmLayer oLayer = _AxProject.GetLayer(nN, true);
                        if (oLayer != null)
                        {
                            _AxDatabase = oLayer.GetDb(vLayerType);
                            if (_AxDatabase != null)
                            {
                                _o._DatabaseTypeInit();

                                _AxDatabaseTypeIdx = new List <int>();

                                int nDatabaseField = _AxDatabase.GetNumOfField();
                                for (int iDatabaseField = 0; iDatabaseField < nDatabaseField; iDatabaseField++)
                                {
                                    int    t    = _AxDatabase.FieldType[iDatabaseField];
                                    string name = _AxDatabase.FieldName[iDatabaseField];

                                    if (name == "@調査日時" ||
                                        name == "@区分" ||
                                        name == "@表示内容" ||
                                        name == "@設置場所" ||
                                        name == "@住所" ||
                                        name == "@連絡先" ||
                                        name == "座標系" ||
                                        name == "X座標" ||
                                        name == "Y座標" ||
                                        name == "更新日時" ||
                                        name == "UID"
                                        )
                                    {
                                        _o.LogMsg("処理:データベース定義:フォールド名[" + name + "]を含める");
                                    }
                                    else
                                    {
                                        _o.LogMsg("処理:データベース定義:フォールド名[" + name + "]を除外");
                                        continue;
                                    }

                                    _o._DatabaseTypeSet(name, t);
                                    _AxDatabaseTypeIdx.Add(iDatabaseField);

                                    ret = true;
                                }
                            }
                            else
                            {
                                _o.LogMsg("データベースへアクセスできません");
                            }
                        }
                        else
                        {
                            _o.LogMsg("レイヤー名[" + vLayerName + "](" + nN + ")へアクセスできません");
                        }
                    }
                    else
                    {
                        _o.LogMsg("レイヤー名[" + vLayerName + "]が存在しません");
                    }
                }
            }
            else
            {
                _o.LogMsg("プロジェクトが存在しません");
            }

            _o.LogSave();

            return(ret);
        }
예제 #2
0
파일: proc.cs 프로젝트: MAPCOMDev/ExcelTool
 /// <summary>
 /// 初期化
 /// </summary>
 public void Init()
 {
     _AxDatabase        = null;
     _AxDatabaseTypeIdx = null;
     _AxDatabaseReadN   = 0;
 }