我从数据库读取数据到DataSet中,字段在数据库的类型分别如下:CreaateDate:DateTime类型;
ID:UniqueIdentifier类型;
Count:int类型我在程序中要做类型的转化,有两种方案可选
1.
DateTime CreaateDate = (DateTime)ds.Table[0].Rows[0]["CreaateDate"];
Guid ID = (Guid)ds.Table[0].Rows[0]["ID"];
int Count = (int)ds.Table[0].Rows[0]["Count"];2.
DateTime CreaateDate = new DateTime(ds.Table[0].Rows[0]["CreaateDate"].ToString());
Guid ID = new Guid(ds.Table[0].Rows[0]["ID"].ToString());
int Count = Convert.ToInt32(ds.Table[0].Rows[0]["Count"].ToString());我想问一下,哪一种方案好,为什么?另外,还有其他的类型转化方式吗?
ID:UniqueIdentifier类型;
Count:int类型我在程序中要做类型的转化,有两种方案可选
1.
DateTime CreaateDate = (DateTime)ds.Table[0].Rows[0]["CreaateDate"];
Guid ID = (Guid)ds.Table[0].Rows[0]["ID"];
int Count = (int)ds.Table[0].Rows[0]["Count"];2.
DateTime CreaateDate = new DateTime(ds.Table[0].Rows[0]["CreaateDate"].ToString());
Guid ID = new Guid(ds.Table[0].Rows[0]["ID"].ToString());
int Count = Convert.ToInt32(ds.Table[0].Rows[0]["Count"].ToString());我想问一下,哪一种方案好,为什么?另外,还有其他的类型转化方式吗?
Guid ID = new Guid(ds.Table[0].Rows[0]["ID"].ToString()); 没啥区别,如果数据不能转化,两种都会转化失败抛异常
...
CreaateDate=rd.GetDateTime(r.GetOrdinal("CreaateDate"));
ID=rd.GetGuid(r.GetOrdinal("ID"));
Count=rd.GetInt32(r.GetOrdinal("Count"));