请问,如果一个ACCESS数据库中要建立多个表,代码应该如何写?

时间:2022-07-29 08:27:16
我做了一个简单的新闻发布系统,用的是ACCESS数据库,里面只有一个表,也只有一个类型的新闻。我如果要增加几个新闻类型,如“国内新闻”、“国外新闻”等,那应该怎么做呢?
   我现在有两个思路,一个是在表里增加一个新闻类别的字段,这个方法虽然简单些,但是如果新闻类别和新闻数据越多的话,就很难管理了。
   第二个思路就是增加一个表,不同的表放不同的新闻类别,这样就好管理些。但是,这样对我来说有点难度,在连接数据、建立DataSet等代码应该如何写呢?
   以下代码是通过一个表建立的DataSet,如果用多个表,应该如何改写呢?


OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ Server.MapPath("new.mdb"));   
OleDbDataAdapter myCommand = new  OleDbDataAdapter("select top 12 * from aa order by shijian desc", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "aa");
MyList.DataSource = ds.Tables["aa"].DefaultView;
MyList.DataBind();

4 个解决方案

#1


用第一种方法,表里仅仅存放新闻类别编号,它的名称从另一表中来
比如:
表一(新闻编号,新闻类别,...)//新闻类别仅仅是编号
表二(类别号,类别名)

你只需这样替换你的sql
select 新闻编号,类别名,... from 表一 where 表一.新闻类别=表二.类别号

#2


sorry,sql错了:
select 新闻编号,类别名,... from 表一,表二 where 表一.新闻类别=表二.类别号

#3


谢谢!

  你的意思是说“表一”放新闻编号和新闻类别,这里的新闻编号是不是就是指那个ID自动编号?
  那“表二”的类别号和类别名又是分别指什么呢?

#4


就是你需要匹配两个表中记录相关的字段名称

#1


用第一种方法,表里仅仅存放新闻类别编号,它的名称从另一表中来
比如:
表一(新闻编号,新闻类别,...)//新闻类别仅仅是编号
表二(类别号,类别名)

你只需这样替换你的sql
select 新闻编号,类别名,... from 表一 where 表一.新闻类别=表二.类别号

#2


sorry,sql错了:
select 新闻编号,类别名,... from 表一,表二 where 表一.新闻类别=表二.类别号

#3


谢谢!

  你的意思是说“表一”放新闻编号和新闻类别,这里的新闻编号是不是就是指那个ID自动编号?
  那“表二”的类别号和类别名又是分别指什么呢?

#4


就是你需要匹配两个表中记录相关的字段名称