首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net+access增加操作,小代码如下 标准表达式中数据类型不匹配,该如何处理

2012-05-09 
asp.net+access增加操作,小代码如下 标准表达式中数据类型不匹配C# code/// summary/// 增加公告信息///

asp.net+access增加操作,小代码如下 标准表达式中数据类型不匹配

C# code
/// <summary>        /// 增加公告信息        /// </summary>        /// <param name="e"></param>        public static void addAnnouncement(Equipment e)        {            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("设备管理_be.mdb");//ACCESS链接字符串            OleDbConnection connAcc = new System.Data.OleDb.OleDbConnection(strConn);            connAcc.Open();            string sql = string.Format("INSERT INTO 公告管理 VALUES('{0}','{1}','{2}','{3}','{4}','{5}')",                new OleDbParameter("发布人",e.发布人),                new OleDbParameter("主题", e.主题),                new OleDbParameter("发布时间", e.发布时间),                new OleDbParameter("内容", e.内容),                new OleDbParameter("响应情况", e.响应情况),                new OleDbParameter("备注", e.备注)                       );            OleDbCommand cmd = new OleDbCommand(sql, connAcc);                        cmd.ExecuteNonQuery();//这一步标准表达式中数据类型不匹配            connAcc.Close();                }//是不是代码哪里写的有问题?


[解决办法]
哥,这里面怎么又那么多中文!。。。
你把“e.发布时间”这个字段转换成字符串
Convert.ToString(e.发布时间)就ok了
建议以后代码中命名和数据库字段别用英文。。
[解决办法]
你写的我怎么看不懂呢
[解决办法]
探讨

你写的我怎么看不懂呢

[解决办法]
扫一眼就知道有问题了。

access 的时间字段,必须要 格式化字符串才行,不能吧datetime类型传递进去。

如果数值型字段,被转为字符型也会出错。

估计 new OleDbParameter("发布人",e.发布人),会错。

e.发布人是int的话,INSERT INTO 公告管理 VALUES('{0}',就是错误的了。

热点排行