异常详细信息: System.InvalidCastException: 从 System.String 到 System.TimeSpan 的转换无效。源错误: 
行 118:
行 119: myConn.Open();
行 120: cmd.ExecuteNonQuery();
行 121: myConn.Close();
行 122:
 源文件: c:\inetpub\wwwroot\dreamsite\board\board.aspx.cs    行: 120 堆栈跟踪: 
[InvalidCastException: 从 System.String 到 System.TimeSpan 的转换无效。]
   System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider) +1222
   System.String.System.IConvertible.ToType(Type type, IFormatProvider provider) +9
   System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +1097
   System.Convert.ChangeType(Object value, Type conversionType) +57
   System.Data.OleDb.OleDbParameter.GetParameterValue()
   System.Data.OleDb.OleDbParameter.GetParameterScale()
   System.Data.OleDb.OleDbParameter.BindParameter(Int32 i, DBBindings bindings, tagDBPARAMBINDINFO[] bindInfo)
   System.Data.OleDb.OleDbCommand.CreateAccessor()
   System.Data.OleDb.OleDbCommand.InitializeCommand(CommandBehavior behavior, Boolean throwifnotsupported)
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   DreamSite.board.board.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\dreamsite\board\board.aspx.cs:120
   System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   System.Web.UI.Page.ProcessRequestMain() 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

解决方案 »

  1.   

    从 System.String 到 System.TimeSpan 的转换无效 ??
    不是说了么,类型转化错误么?
    还有怎么上面和下面贴的代码不同?
      

  2.   

    先看看是不是這個語句本身有錯?
    SELECT max(Id) as id FROM liuyan可改為 SELECT   id FROM liuyan   試試....遇到問題別急,慢慢分析解決...
      

  3.   

    对不起,刚才看错了,错误是这个"insert 语法错误"
    query="insert into [liuyan] (Id,UserName,Email,Posttime,Text)  values (@id,@username,@email,@posttime,@text)";
    cmd=new OleDbCommand(query,myConn); cmd.Parameters.Add("@id",OleDbType.Integer);
    cmd.Parameters["@id"].Value=id; cmd.Parameters.Add("@username",OleDbType.VarChar);
    cmd.Parameters["@username"].Value=name.Text; cmd.Parameters.Add("@email",OleDbType.VarChar);
    cmd.Parameters["@email"].Value=email.Text; cmd.Parameters.Add("@posttime",OleDbType.DBDate);
    cmd.Parameters["@posttime"].Value=DateTime.Now.ToString(); cmd.Parameters.Add("@text",OleDbType.VarChar);
    cmd.Parameters["@text"].Value=tex; myConn.Open();
    cmd.ExecuteNonQuery();
    myConn.Close();我第一次用这种方法,不会,看看哪错了?谢谢了
      

  4.   

    异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误: 
    行 118:
    行 119: myConn.Open();
    行 120: cmd.ExecuteNonQuery();
    行 121: myConn.Close();
    行 122:
     源文件: c:\inetpub\wwwroot\dreamsite\board\board.aspx.cs    行: 120 堆栈跟踪: 
    [OleDbException (0x80040e14): INSERT INTO 语句的语法错误。]
       System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
       System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
       System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
       System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
       System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
       DreamSite.board.board.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\dreamsite\board\board.aspx.cs:120
       System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       System.Web.UI.Page.ProcessRequestMain()