Ms access MS访问哪个C“数据类型”;“数字”;类型对应?
根据,MS Jet数据库引擎没有“数字”数据类型;然而,这就是我在查询的表的MS Access设计视图中看到的,即 我在查询中检索的第一列的数据类型是“NUMBER”数据类型 当我尝试将该值转换为Int32和Double时,我得到了一段中断的代码:Ms access MS访问哪个C“数据类型”;“数字”;类型对应?,ms-access,sqldatatypes,type-conversion,jet,oledbdatareader,Ms Access,Sqldatatypes,Type Conversion,Jet,Oledbdatareader,根据,MS Jet数据库引擎没有“数字”数据类型;然而,这就是我在查询的表的MS Access设计视图中看到的,即 我在查询中检索的第一列的数据类型是“NUMBER”数据类型 当我尝试将该值转换为Int32和Double时,我得到了一段中断的代码: // A set comprised of two columns are returned from a query in cmd using (OleDbDataReader oleDbD8aReader = cmd.ExecuteReader(
// A set comprised of two columns are returned from a query in cmd
using (OleDbDataReader oleDbD8aReader = cmd.ExecuteReader())
{
while (oleDbD8aReader != null && oleDbD8aReader.Read())
{
//var accountID = oleDbD8aReader.GetString(0); // <-- this fails (it's a number, not a string)
//var accountID = oleDbD8aReader.GetInt32(0); // <-- this also fails!
var accountID = oleDbD8aReader.GetDouble(0); // <-- as does this!
var deptName = oleDbD8aReader.GetString(1);
. . .
}
}
//cmd中的查询返回由两列组成的集合
使用(OleDbDataReader oleDbD8aReader=cmd.ExecuteReader())
{
while(oleDbD8aReader!=null&&oleDbD8aReader.Read())
{
//访问表设计器中的var accountID=oleDbD8aReader.GetString(0);//中的“Number”是数据类型的集合,而不是特定类型本身-您需要查看字段列表下方的字段属性以查看实际类型
或者,您可以通过编程方式查找字段类型。使用Delphi和DAO,代码如下所示:
uses
DAO_TLB; //may need importing first via Component|Import Component
procedure Foo;
var
Engine: DBEngine;
DB: Database;
Table: TableDef;
begin
Engine := CoDBEngine.Create;
DB := Engine.OpenDatabase('C:\Somewhere\Database.mdb',
{exclusively?}False, {read-only?}True, '');
Table := DB.TableDefs['MyTableName'];
case Table.Fields['MyFieldName'].Type_ of
dbBoolean: ;
dbByte: ;
dbInteger: ;
dbLong: ;
dbCurrency: ;
dbSingle: ;
dbDouble: ;
dbDate: ;
dbBinary: ;
dbText: ;
dbLongBinary: ;
dbMemo: ;
dbGUID: ;
dbBigInt: ;
dbVarBinary: ;
dbChar: ;
dbNumeric: ;
dbDecimal: ;
dbFloat: ;
dbTime: ;
dbTimeStamp: ;
end;
end;
我假设C#/ADO.NET的等价物与ish类似。你试过看一下oleDbD8aReader[“fieldname”].GetType()
看看它是否有任何关于返回内容的线索吗?就像老猫在《永不哭泣的狼》中说的那样,“好主意!”上面写着Int16.aa,我刚刚注意到Gord Thompson的评论——从声音上看,这确实是类似的。