Access增删改查(持续更新中)
关于Access数据库(2003)的增删改查,其实和Sql⼤体差不多,但是还有很多不⼀样的地⽅。下⾯列⼏个容易犯的错误:
1、Access数据库的位置:
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/SingleArticle.mdb;Jet OLEDB:Database Password=");
↓
↓
这个是数据库的相对路径,要建⽴个App_Data的⽂件夹,放在项⽬的根⽬录下,专门⽤来存放Access 数据库
2、对于Access的查询语句
public SingleArticleData Xiangxi() //查询Access数据库的内容
{
SingleArticleData data = null;
conn.Open();
cmd.CommandText = "Select * from SingleArticles ";
OleDbDataReader dr = cmd.ExecuteReader();
data = new SingleArticleData();
if(dr.HasRows)
{
dr.Read();
data.Name = dr["Name"].ToString();
data.ZhengWen = dr["Zhengwen"].ToString();
data.Times =Convert.ToDateTime( dr["Times"]);
}
conn.Close();
return data;
}
和SQL的⼀样。
3、对于Access数据库中时间类型的修改
public void Update(int code,string name,string zhengwen,DateTime Times)
{
conn.Open();
cmd.CommandText = "Update SingleArticles set Name=@name ,ZhengWen=@zhengwen, Times=#"+Times+"# where Code="+code+"";
cmd.Parameters.Clear();
cmd.Parameters.Add("@name",name);
cmd.Parameters.Add("@zhengwen",zhengwen);
cmd.ExecuteNonQuery();
conn.Close();
}
这⾥的时间类型⼀定要加上##,不然会提⽰与数据库的类型不符合!!
4、对于Access数据库中时间类型的增加,以及⾃动编号的增加。
在Access中,⾃增长类型要设成"⾃动编号"的,但是在增加语句中,也要加上这个编号,⽽且是string类型的,这个编号要通过先查询Access表中编号最⼤的那条数据,然后新增加的编号便是这个编号+1就⾏了,最好别⽤占位符还有时间Insert语句中不⽤加'',要加##。
public void Insert(string code,string name,string zhengwen,DateTime time,string type,string zuozhe) //
增加
{
conn.Open();
cmd.CommandText = "Insert into Articles values('"+code+"','"+name+"','"+zhengwen+"',#"+time+"#,'"+type+"','"+zuozhe+"')";;
cmd.ExecuteNonQuery();
conn.Close();
}
protected void Button2_Click(object sender, EventArgs e) //获取数据后发布新闻
基本的增删改查语句{
string name = TextBox1.Text;
string zhengwen = WebEditor1.Text;
string type = TextBox2.Text;
string zuozhe = TextBox3.Text;
int code=new ArticlesBF().SelectLast().Code;
int code1 = code + 1;
new ArticlesBF().Insert(code1.ToString(),name,zhengwen,DateTime.Now,type,zuozhe); Response.Redirect("Articles.aspx");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论