Access數(shù)據(jù)庫(kù)的文本、備注數(shù)據(jù)類型的COLUMN_FLAGS說(shuō)明
時(shí)間:2008-10-11 05:43:00 來(lái)源:無(wú)憂考網(wǎng) [字體:小 中 大]
Access數(shù)據(jù)庫(kù)對(duì)于文本和備注類型的數(shù)據(jù)類型定義(DATA_TYPE)都是為130,無(wú)法直接區(qū)分,找了N多網(wǎng)頁(yè),包括MSDN都沒(méi)有描述有關(guān)COLUMN_FLAGS的說(shuō)明,還是自己分析一下:
COLUMN_FLAGS為64位(8字節(jié))的十六進(jìn)制的值,組合了數(shù)據(jù)類型和必填字段等信息
其中最后2個(gè)字節(jié)有效,最后一個(gè)字節(jié)一直為0x0A,有變化的是最后第二個(gè)字節(jié),即:
對(duì)于文本類型的為0x00;備注類型為0x80;
對(duì)于非必填字段為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為文本字段
}
}
COLUMN_FLAGS為64位(8字節(jié))的十六進(jìn)制的值,組合了數(shù)據(jù)類型和必填字段等信息
其中最后2個(gè)字節(jié)有效,最后一個(gè)字節(jié)一直為0x0A,有變化的是最后第二個(gè)字節(jié),即:
對(duì)于文本類型的為0x00;備注類型為0x80;
對(duì)于非必填字段為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為文本字段
}
}
- 2009年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2009年3月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年4月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2011年3月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 2010年9月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 查看計(jì)算機(jī)等級(jí)考試全部真題>>
- 2020年9月全國(guó)計(jì)算機(jī)等級(jí)考試ACCESS復(fù)習(xí)要點(diǎn)
- 2012年9月全國(guó)計(jì)算機(jī)二級(jí)Access考試真題及答案
- 2012年3月全國(guó)計(jì)算機(jī)二級(jí)Access考試真題及答案
- 2011年9月全國(guó)計(jì)算機(jī)二級(jí)Access考試真題及答案
- 2011年4月全國(guó)計(jì)算機(jī)二級(jí)Access考試真題及答案
- 2010年9月全國(guó)計(jì)算機(jī)二級(jí)Access考試真題及答案
- 查看計(jì)算機(jī)等級(jí)考試全部文檔 >>
- 2024年9月上海計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)考試成績(jī)查詢?nèi)肟冢ㄒ验_(kāi)
- 2024年9月浙江省全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級(jí)考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月江蘇計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級(jí)成績(jī)查詢時(shí)間及查分入口