Access 2007的使用方法
本来考虑用XML文件来存数据是因为其跨平台性,而且不用安装特定的软件。但经过研究了一阵子发现,XML用于存放少数据是可以,但存放大中型数据就显得很吃力,怀疑也没有人会这么做。而如果采用SQL SERVER存数据,又显得比较屈才,毕竟我做的只是研究客户端的一个小程序,配置代价也太大了。基于这两者之间,还是决定选Access,用这个系统,对数据的操作也可以使用SQL语句来操作,与VC的连接同样是使用ADO技术,对于以后变更数据库时,会比较方便。还有一个最最重要的原因是:我没接触过,当学习啦!网上找了一些ACCESS的软件,可能是我自己本事不够,除了07版的,其它版本的都装不上,所以干脆装个07的,搞了半天还是个英文版,汉化包也没找到,倒~ 特此记录下使用这个软件的方法。
首先附上入门级的视频,看过发现很不错:
http://www.pconline.com.cn/pcedu/videoedu/office/0908/1732789.html
这个更详细点:
http://www.itzcn.com/video-vid-1773-spid-45.html
上面那个视频没有说到可以用SQL语句进行查询,又在网上找了一个电子书,有图有真相,呵呵~ :
http://download.csdn.net/source/2334824
官方的帮助,内容很多:
http://office.microsoft.com/zh-cn/access/FX100646912052.aspx
Q1:access数据库中的各项容量是多少?
A1:http://access911.net/fixhtm/72FAB01E17DC.htm?tt=
属性最大值
Microsoft Access 数据库 (.mdb) 文件大小
2G 字节减去系统对象所需的空间。
数据库中的对象个数
32,768
模块(包括“内含模块”属性为“是”的窗体和报表)
1,000
对象名称中的字符数
64
密码的字符个数
14
用户名或组名的字符个数
20
并发用户的个数
255
表
属性最大值
表名的字符个数
64
字段名的字符个数
64
表中字段的个数
255
打开表的个数
2048;实际可打开的表的数目可能会少一些,因为 Microsoft Access 还要打开一些内部的表。
表的大小
2G 字节减去系统对象所需的空间
“文本”字段的字符个数
255
“备注”字段的字符个数
通过用户界面输入为 65,535;以编程方式输入时为 1G 字节的字符存储。
“OLE 对象”字段的大小
1G 字节
表中的索引个数
32
索引中的字段个数
10
有效性消息的字符个数
255
有效性规则的字符个数
2,048
表或字段说明的字符个数
255
记录的字符个数(除“备注”字
相关文档:
ACCESS中重复行的处理
ACCESS中,使用distinct和group by后,如果在java中使用rs.next()的话,就会提示“无效的游标”错误。
但是,并非不支持上面两个语法。
所以,可以通过以下语法进行二次查询,将重复数据去掉。
select stockName from (select stockName from stock group by stockName) order by stock ......
//根据主键来删除表中的数据。
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
OleDbConnection sqlConnection = new OleDbConnection(GetConnection());
& ......
更新方法一,直接在GridView中来更新数据.
更新方法二,打开一个新的页面来更新数据.
//更新
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
&nbs ......
具体不多说了,只贴出相关源码~
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Web;
/**//// <summary>
/// 名称:access下的分页方案(仿sql存储过程)
/// 作者:cncxz(虫虫)
/// blog:http://cncxz.cnblogs.com
/// ......
if (currentPage ==1) {
//如果当前页为第1页
sql ="select top "+pageSize+" * from Table";
} else {
int start =(currentPage -1)*pageSize;
sql ="select top "+pageSize+" * from Table where ID not in (select top "+start+" ID from Table)";
} ......