asp.net/c#下用参数化SQL访问时间字段

Access下的SQL语句跟Sql Server下有所不同,我在将Sql Server数据库改为Access数据库的时候,遇到些小小的挫折,稍作总结,以备参考。

假设有表Article, Article有字段EditTime,类型为“日期/时间”型,以修改EditTime为例。

        void Update(int nArticleID, string strTitle, DateTime timeEdit)
        {
            StringBuilder strSQL 
= new StringBuilder();
            strSQL.Append(
"Update article set Title=@strTitle, EditTime=@timeEdit where ArticleID=@nArticleID;");
            OleDbParameter []arParas 
= new OleDbParameter[3];
            arParas[
0= new OleDbParameter("@strTitle", strTitle);
            arParas[
1= new OleDbParameter("@timeEdit", OleDbType.Date);
            arParas[
1].Value = timeEdit;
            arParas[
2= new OleDbParameter("@nArticleID", nArticleID);

            AccessHelper.ExecuteSql(strSQL.ToString(), arParas);
        }

 

其中,关键的一条是一定要设置OleDbParameter为OleDbType.Date类型。

posted @ 2008-04-03 15:38  牵牛望岳  阅读(805)  评论(0编辑  收藏  举报