少妇AV一区二区三区无|久久AV电影一区三|日本一级片黄色毛片|亚洲久久成人av在线久操|黄色视频在线免费看呀一区二区|综合精品视频精品久久久浪朝|亚洲午夜成人资源|欧美黄色一级片黑寡妇|内射无毛少妇特写|无码农村夜晚偷拍啪啪

Access數(shù)據(jù)庫的文本、備注數(shù)據(jù)類型的COLUMN_FLAGS說明

時間:2008-10-11 05:43:00   來源:無憂考網(wǎng)     [字體: ]
Access數(shù)據(jù)庫對于文本和備注類型的數(shù)據(jù)類型定義(DATA_TYPE)都是為130,無法直接區(qū)分,找了N多網(wǎng)頁,包括MSDN都沒有描述有關(guān)COLUMN_FLAGS的說明,還是自己分析一下:
  COLUMN_FLAGS為64位(8字節(jié))的十六進(jìn)制的值,組合了數(shù)據(jù)類型和必填字段等信息
  其中最后2個字節(jié)有效,最后一個字節(jié)一直為0x0A,有變化的是最后第二個字節(jié),即:
  對于文本類型的為0x00;備注類型為0x80;
  對于非必填字段為0x40;必填字段為0x60
  組合后:
  文本必填: 0x6A
  文本非必填:0x4A
  備注必填: 0xEA
  備注非必填:0xCA
  最后可以得到COLUMN_FLAGS右移7位后可以區(qū)分文本類型和備注類型
  DataTable dt = m_OLEDBCon.GetOleDbSchemaTable(
  OleDbSchemaGuid.Columns,
  new object[] {null, null, "表名稱", null});
  DataRow[] drs = dt.Select("COLUMN_NAME='字段名稱'");
  if(drs.Length > 0 && Convert.ToInt32(drs[0]["DATA_TYPE"]) == 130) {
  //文本類型
  if ( (Convert.ToInt64(drs[0]["COLUMN_FLAGS"]) >> 7) == 1){
  //=1為備注字段
  }else{
  //=0為文本字段
  }
  }