指定的转换无效

code-fans 2011-06-05 06:59:11
string StrSql = "select * from article order by submit_date desc";
using (OleDbConnection Conn = new OleDbConnection(StrCon))
{
Conn.Open();
OleDbCommand cmd = new OleDbCommand(StrSql, Conn);
OleDbDataReader dr = cmd.ExecuteReader();
List<article> list = new List<article>();
while (dr.Read())
{
article Article = new article();
for (int i = 0; i < dr.FieldCount; i++)
{
string fieldName = dr.GetName(i);
if (fieldName == "arti_id")
Article.Arti_id = (int)dr["arti_id"];
if (fieldName == "user_id")
{
Article.User_id = (int)dr["user_id"];
//Article.User_name = UserService.GetUserNameByUserId((int)dr["user_id"]).User_name;//未将对象引用设置到对象的实例
}
if (fieldName == "arti_title")
Article.Arti_title = (string)dr["arti_title"];
if (fieldName == "arti_text")
Article.Arti_text = (string)dr["arti_title"];
if (fieldName == "arti_click")
Article.Arti_click = (int)dr["arti_click"];
if (fieldName == "submit_date")
Article.Submit_date = (DateTime)dr["submit_date"];//运行时此处报错“指定的转换无效”
}
list.Add(Article);
}
dr.Close();
return list;
}
大致知道是转换成access的日期时间类型时问题,求解此处如何能从C# 中转换成为access日期时间类型
...全文
179 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
code-fans 2011-06-06
  • 打赏
  • 举报
回复
回复四楼,我也在找原因中
第一次做个blog
问题比较多
code-fans 2011-06-06
  • 打赏
  • 举报
回复
1楼得方法试过了,不过还是有点纠结
还是很感谢大家的回答
xuexiaodong2009 2011-06-06
  • 打赏
  • 举报
回复
Article.Submit_date = (DateTime)dr["submit_date"];/
可能为空,建议不要强制转换
code-fans 2011-06-06
  • 打赏
  • 举报
回复
回复2楼
可能是dr["user_id"]没取到值或者UserService.GetUserNameByUserId((int)dr["user_id"])没得到值。。。
----------------------------------------------
这里可能是我数据库关联的问题
-------------------
不过下面这个问题我还是在纠结中
porschev 2011-06-05
  • 打赏
  • 举报
回复

//Article.User_name = UserService.GetUserNameByUserId((int)dr["user_id"]).User_name;//未将对象引用设置到对象的实例

====》

可能是dr["user_id"]没取到值或者UserService.GetUserNameByUserId((int)dr["user_id"])没得到值。。。


-----------------------------------------------------------

Article.Submit_date = (DateTime)dr["submit_date"];//运行时此处报错“指定的转换无效”


====》

F5.。。看看dr["submit_date"]得到的是个什么
拿凤姐抵债 2011-06-05
  • 打赏
  • 举报
回复
//try one try
string str = dr["submit_date"].ToString();
DateTime = DateTime.Parse(str);

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧