现在有如下函数枚举类型作为参数作为传递: private void CreateField(CatalogClass cat, TableClass tbl, string fieldName, DataTypeEnum type, bool isZero, int DefineSize)
{
ColumnClass col = new ColumnClass();
col.ParentCatalog = cat;
col.Type = type;//col.Type的类型为DataTypeEnum
col.Name = fieldName;
col.Properties["Jet OLEDB:Allow Zero Length"].Value = isZero;
tbl.Columns.Append(col, type ,DefineSize);
}使用的时候是这样CreateField(cat, tbl, "字段一", DataTypeEnum.adInteger, false, 25);提示类型无效~~但改为如下时
col.Type = DataTypeEnum.adInteger;
tbl.Columns.Append(col, DataTypeEnum.adInteger,DefineSize);
{
ColumnClass col = new ColumnClass();
col.ParentCatalog = cat;
col.Type = type;//col.Type的类型为DataTypeEnum
col.Name = fieldName;
col.Properties["Jet OLEDB:Allow Zero Length"].Value = isZero;
tbl.Columns.Append(col, type ,DefineSize);
}使用的时候是这样CreateField(cat, tbl, "字段一", DataTypeEnum.adInteger, false, 25);提示类型无效~~但改为如下时
col.Type = DataTypeEnum.adInteger;
tbl.Columns.Append(col, DataTypeEnum.adInteger,DefineSize);
还没编辑完 就不小心发送了但改为如下时
col.Type = DataTypeEnum.adInteger;
tbl.Columns.Append(col, DataTypeEnum.adInteger,DefineSize);就成功了?参数传递无效?还真不知道什么问题
tbl.Columns.Append(col, DataTypeEnum.adInteger,DefineSize);不规范
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger;
DataTypeEnum.adInteger这样如何匹配啊
改为
col.Type = DataTypeEnum.adInteger;后时候程序通过 也就是说没有使用到参数的时候通过 也就是参数出了问题但是不知道参数出的是什么问题~~
DataColumnCollection..::.Add 方法三个参数的,只有一个
Add(String, Type, String) 而你的DefineSize是int类型,能这样调用?
是我 误解了那如果我要将如下参数传入:那函数的参数应该是什么呢? public enum DataTypeEnum
{
adEmpty = 0,
adSmallInt = 2,
adInteger = 3,
adSingle = 4,
adDouble = 5,
adCurrency = 6,
adDate = 7,
adBSTR = 8,
adIDispatch = 9,
adError = 10,
adBoolean = 11,
adVariant = 12,
adIUnknown = 13,
adDecimal = 14,
adTinyInt = 16,
adUnsignedTinyInt = 17,
adUnsignedSmallInt = 18,
adUnsignedInt = 19,
adBigInt = 20,
adUnsignedBigInt = 21,
adFileTime = 64,
adGUID = 72,
adBinary = 128,
adChar = 129,
adWChar = 130,
adNumeric = 131,
adUserDefined = 132,
adDBDate = 133,
adDBTime = 134,
adDBTimeStamp = 135,
adChapter = 136,
adPropVariant = 138,
adVarNumeric = 139,
adVarChar = 200,
adLongVarChar = 201,
adVarWChar = 202,
adLongVarWChar = 203,
adVarBinary = 204,
adLongVarBinary = 205,
}
C# code public enum DataTypeEnum
{
adEmpty = 0,
adSmallInt = 2,
adInteger = 3,
adSingle = 4,
adDouble = 5,
adCurrency = 6,
adDate = 7,
adBSTR = 8,
adIDispatch = 9,
adError = 10,
adBoolean = 11,
adVariant = 12,
adIUnknown = 13,
adDecimal = 14,
adTinyInt = 16,
adUnsignedTinyInt = 17,
adUnsignedSmallInt = 18,
adUnsignedInt = 19,
adBigInt = 20,
adUnsignedBigInt = 21,
adFileTime = 64,
adGUID = 72,
adBinary = 128,
adChar = 129,
adWChar = 130,
adNumeric = 131,
adUserDefined = 132,
adDBDate = 133,
adDBTime = 134,
adDBTimeStamp = 135,
adChapter = 136,
adPropVariant = 138,
adVarNumeric = 139,
adVarChar = 200,
adLongVarChar = 201,
adVarWChar = 202,
adLongVarWChar = 203,
adVarBinary = 204,
adLongVarBinary = 205,
}
还是枚举,在用的时候转下int。