
在asp.net中我们都对Parameter应该一点都陌生,尤其是在写Sql语句上可能会经常用到他,那么有些人可能会在Sql Server2000及以上版本都一些参数可能没什么要求,但在Access中要求就比较严格一些,我现在经常用Access数据库,应该说就是在用Access数据库,当然之前也用过Sql Server 2000。
至于为什么会说在Access中比较严格应该说在我应用的Access数据库中碰到很多问题,比如说你用OleDbParameter做参数时,一个小小的时间类型写不好就会很麻烦,在传值的时候一定要Tostring一下才可以,当然之前我也不知道,都是一个个试出来的。
下面我们来举例说一下,比如当前数据库为Access:
private string cmdText;
private OleDbParameter Parames;
private OleDbParameter[] GetInsertParameter()
{
this.Parames = new OleDbParameter[]{
new OleDbParameter("@Name",OleDbType.VarChar,50),
new OleDbParameter("@CreateDate",OleDbType.DBTimeStamp) //DBTimeStamp这个是Access的时间类型。
};
return this.Parames;
}
public void Insert(string Name, DateTime CreateDate)
{
this.Parames = this.GetInsertParameter();
this.Parames[0].Value = Name;
this.Parames[1].Value = CreateDate.ToString();
this.cmdText = "Insert Into Table1([name],CreateDate) values (@Name,@CreateDate)";
............... // 这里是你执行方法。
}
以上是在Access数据库中的方法,一定要注意了,时间可是要ToString一下哦,当然如果你用的是Sql Server就不用考虑这个问题。在说一下,在这里写到的“[name]”因为在数据库中name是一个保留字,所以要在这里加方括号。
以上仅供参考,本站原创文章,如有转载请带链接注明出自 网络自由人
| #1 | 评论标题:不错 | 评论时间:2010-11-30 11:55:29 |
| 能够做个自己的网站,值得我学习。 | ||