标准表达式中数据类型不匹配 access

                     最近,用ACCESS做数据库,开发WINFORM程序.遇到了一个很烦恼的问题.

 

                  在数据库操作层,修改,插入语句,老是报 :"标准表达式中数据类型不匹配" 的错误.

 

           因为数据安全问题,一直都用传参数的方式,不怎么好调试! 在网上看看,也没有找到好的解决方法.

 

       最后自己测试了一下,发现:

        文本+日期/时间 类型的,修改/插入 都没有问题.

 

    如果是: 文本+数字+时间/日期 类型的,且同时出现2个时间/日期类型的.则出错.

 

最后受朋友的启示,改好了:

请注意,model.Create_date.ToString() 是DATE类型的,但是ACCESS,不知道为什么还需要先将DATE转换成字符类型

然后再Convert.ToDateTime这样转换一次.

 

呵呵,就这样了!

 

 

 /// 插入一条记录
  static public bool InsertPriceContent(PriceContent model)
  {
   try
   {
    int flag = 0;
    StringBuilder strSql = new StringBuilder();
    strSql.Append("insert into BNSP_T_PRICE_CONTENT(");
    strSql.Append("rule_id,price_model_id,regulation,parent_id,is_lowclass,is_autograde,is_total,create_user_id,create_date,update_user_id,update_date)");
    strSql.Append(" values (");
    strSql.Append("@rule_id,@price_model_id,@regulation,@parent_id,@is_lowclass,@is_autograde,@is_total,@create_user_id,@create_date,@update_user_id,@update_date)");

                OleDbParameter[] oleDbParas = new OleDbParameter[] {
     new OleDbParameter("rule_id", model.Rule_id)
     ,new OleDbParameter("price_model_id",model.Price_model_id)
     ,new OleDbParameter("regulation",model.Regulation)
     ,new OleDbParameter("parent_id",model.Parent_id)
     ,new OleDbParameter("is_lowclass",model.Is_lowclass)
     ,new OleDbParameter("is_autograde", model.Is_autograde)
     ,new OleDbParameter("is_total",model.Is_total)
     ,new OleDbParameter("create_user_id",model.Create_user_id)
     ,new OleDbParameter("create_date",Convert.ToDateTime(model.Create_date.ToString()))
     ,new OleDbParameter("update_user_id", model.Update_user_id)
     ,new OleDbParameter("update_date", Convert.ToDateTime(model.Update_date.ToString()))};

                flag = acceDataProv.ExecuteNonQuery(strSql.ToString(), oleDbParas);
                return Function.ReturnIsNull(flag);
   }
   catch (Exception ex)
   {
    throw new Exception(ex.Message, ex);
   }
  }

转载于:https://www.cnblogs.com/yingpp/archive/2008/08/28/1278591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值