日期:2014-05-18  浏览次数:20393 次

databind() 格式错误?
.cs
SqlConnection objconn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["sql_connstr"].ToString());
  objconn.Open();
  string objsql = "select * from News";

  SqlDataAdapter da = new SqlDataAdapter(objsql,objconn);
  DataSet ds = new DataSet();

  da.Fill(ds);
  GridView1.DataSource = ds;  
  GridView1.DataBind();  
  objconn.Close();
.aspx
<Columns>
  <asp:BoundField DataField="NewsID" HeaderText="新闻编号" ReadOnly="True" SortExpression="NewsID" />
  <asp:HyperLinkField DataNavigateUrlFields="NewsID" Target="_blank" DataNavigateUrlFormatString="newscontent.aspx?NewsID={0}}" 
  HeaderText="新闻标题" DataTextField="NewsTitle" /> 
  <asp:BoundField DataField="NewsPublisher" HeaderText="新闻作者" ReadOnly="True" SortExpression="NewsPublisher"/>
  <asp:BoundField DataField="NewsDatetime" HeaderText="发布时间" HtmlEncode="false" ReadOnly="True" SortExpression="NewsDatetime" DataFormatString="{yyyy-MM-dd hh:mm:ss}"/>  
</Columns>

错误提示:将一个字符串转换为 DateTime 时,应先分析该字符串以获取日期,然后再将每个变量放置到 DateTime 对象中。
是不是在获取数据库里时间前要将其转换为字符串格式?

希望大家以带参数的方式来解决:
如: SqlParameter ParamNewsDatetime = new SqlParameter(?);
  ParamuserID.Value = ?
  objcmd.Parameters.Add(ParamNewsDatetime);
小弟先谢谢了!!!!!!!!!!

------解决方案--------------------
HTML code
<asp:BoundField DataField="NewsDatetime" HeaderText="发布时间" HtmlEncode="false" ReadOnly="True" SortExpression="NewsDatetime" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"/>

------解决方案--------------------

------解决方案--------------------
因为你的数据里面有空值吧,所以转换的时候出错了


------解决方案--------------------
数据库字段设置问题检查
------解决方案--------------------
数据库字段设置检查(文本?时间?)