
Access对表进行“投影 *** 作”,即筛百选表中部分列,组成一个新表,作度为运算结果;从表中选出指定的列字段组成一个新表。
access表没有行数的限制,但是数据库的大小限制为2G,数据表能存储多少行记录取决于整个数据库的体积,只要未超过2G且磁盘空间足够的话就可以写入记录。根据对数据库的使用经验,在不保存ole类型文件如、音乐等数据的情况下,access表保存个一两千万行记录一般不会有问题。
扩展资料:
C语言中函数
头文件:unistdh
功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
用 法: int access(const char filenpath, int mode); 或者int _access( const char path, int mode );
参数说明:
filenpath
文件或文件夹的路径,当前目录直接使用文件或文件夹名(使用绝对路径)
备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出来。但是这样做有以下不足:一、需要将逐一插入到表中,工作量太大。二、使数据库文件变得庞大。三、相同的文件,如果在不同数据库中都要引用,就需要重复插入,非常浪费。因此,可以把文件按照一定的路径储存起来,在窗体中通过这个路径找到相应的,并显示出来。这样可以大大节省 *** 作时间、储存空间,而且便于文件在不同数据库中的共享。
在网上查阅了大量的相关资料,看到的文章和范例大多是高手写的,可能忽略了像我辈这样的菜鸟级爱好者的水平。把他们提供的例子看了半天,总是不得要领。在反覆尝试之后终于成功了。欣喜之余,除了感谢那些网上的资源以及提供者,还想把自己的一点经验写出来,希望对那些和我一样的业余爱好者有一点帮助。下面就以Access2003(本人依然不习惯07和10的界面,坚守着03,使用07和10的朋友可以尝试一下,原理应该是一样的)为例谈一谈如何实现在窗体中显示给定路径的。
比如我们要建立一个“古代语言学家”的数据库,希望在窗体中显示每个人的画像,可以分下面几个步骤实现。
一、建立一个叫做“古代语言学家”的文件夹,在这个文件夹中建立一个叫做“古代语言学家”的数据库,在数据中建立一叫做linguist的表,表中包含ID(用作主键的编号)、linguist(语言学家的姓名)等字段。
二、在文件夹“古代语言学家”中建立一个名为“头像”的文件夹,把所有的语言学家的头像储存在这个文件夹里,每个人的头像以姓名或ID为文件名(注意:最好以数据表中的“主键”作为文件名,这样可以保证不重复)。
三、建立一个窗体(可以利用窗体向导),窗体上要包含反映路径变量的字段,如本例中,头像是以姓名命名的,姓名是变量(每个语言学家的姓名不同),所以窗体上必须包含字段linguist。至于窗体上对象的隐现,可以通过改变对象属性中的“可见性”来控制。比如,如果头像是以ID命名的,在窗体上就必须包含ID这个字段,如果不希望ID在窗体上显示,可以把ID的可见性设为“否”。
四、在窗体中插入一个图形控件。可以先选择任意一个。
五、查看图形控件的属性,把删除(即图中选中的路径)。类型、缩放模式等可以根据需要设定。
六、在“视图”中打开“代码”编辑窗口,加入以下一段代码并保存:
Private Sub Form_Current()
Dim PhotoPath As String
PhotoPath = CurrentProjectPath & "\头像\" & Me![linguist] & "jpg"
MeImage7Picture = PhotoPath
End Sub
关于这段代码的几点说明:
1、Dim语句是一个声明变量的语句,String代表字符串。上面的Dim语句表示声明PhotoPath为一个字符串。其中PhotoPath是变量名,可以自己命名。
2、PhotoPath =一句定义了的路径。CurrentProjectPath是当前对象的路径,是个相对路径。&是连接符,也可以用+,表示把前后的字符连接起来。Me表示当前的窗体,Me![linguist]则表示当前窗体中的linguist字段。把这段语句所代表的路径转换出来即:\头像\ Me![linguist]jpg;也就是:当前路径下(与数据库文件同目录下),“头像”文件夹中,文件名等于窗体中linguist字段的值的jpg文件。再复杂的路径,只要是有规则的,都可以用这个方法定义。注意:所有的值都需要用半角的双引号"括起来;表示文件夹的前后的斜杠\和后缀名以及前面的不要丢掉。
3、MeImage7Picture = PhotoPath一句定义了窗体中的图形控件来源等于上一句定义的路径。注意:Image7是图形控件名,要与窗体中的控件名一致,本例中是Image7。在窗体的设计视图中也可以对图形控件重新命名。
七、完成以上的 *** 作,打开窗体就可以看到了。
八、上面的代码没有定义当在给出的路径找不到相应的时的动作,因此,当找不到时会现错误提示。
九、将代码稍做修改。如下:
Private Sub Form_Current()
Dim PhotoPath As String
PhotoPath = CurrentProjectPath & "\头像\" & Me![linguist] & "jpg"
If Dir(PhotoPath) = "" Then PhotoPath = CurrentProjectPath & "\noimgjpg"
MeImage7Picture = PhotoPath
End Sub
说明:If一句定义了当在上一句定义的路径中找不到时,的路径为当前目录中的noimgjpg。为保证其有效,需要在当前文件夹中有文件noimgjpg。
下面是修改后的效果:
大功告成了!
十、如果要在窗体中显示多个,只需声明多个相关的变量,定义相应的路径即可。比如:把古代语言学家的全身像放在文件夹“全像”中,同样以姓名命名。要在窗体中同时显示头像和全像,可以将代码修改为:
Private Sub Form_Current()
Dim PhotoPath As String, photopath2 As String
PhotoPath = CurrentProjectPath & "\头像\" & Me![linguist] & "jpg"
If Dir(PhotoPath) = "" Then PhotoPath = CurrentProjectPath & "\noimgjpg"
MeImage7Picture = PhotoPath
photopath2 = CurrentProjectPath & "\全像\" & Me![linguist] & "jpg"
If Dir(photopath2) = "" Then photopath2 = CurrentProjectPath & "\noimgjpg"
MeImage9Picture = photopath2
End Sub
下面是修改后的效果:
Access数据库为字段提供了10种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查询向导。在表的设计视图中,每一个字段都有设计类型。
1、文本型
用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。如果赋予字符串的字符少于 50 个,则用空格将 EmpName 的不足部分填满。
2、货币型
用来存储货币值,占8个字节,在计算中禁止四舍五入。这种类型是数字数据类型的特殊类型,等价于具有双精度属性的数字字段类型。向货币字段输入数据时,不必键入人民币符号和千位处的逗号,Access会自动显示人民币符号和逗号,并添加两位小数到货币字段。
3、数字型
用于可以进行数值计算的数据,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。表示方法:直接书写即可。例:3246291
4、日期/时间型
用于存储日期和(或)时间值,占8个字节。表示方法:用英文字符#号括起来。例:#2010-02-25#、#02/25/2010#、#2010-02-25 15:30#、#2010-02-25 3:30pm#、#15:30#都是合法的表示方法。不过要注意:日期和时间之间要留有一个空格。
5、自动编号型
用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能更新。
6、是/否型
用于表示逻辑值(是/否,真/假),占1个字节。表示方法: T F True false。这种字段是针对于某一字段中只包含两个不同的可选值而设立的字段,通过是/否数据类型的格式特性,用户可以对是/否字段进行选择。
7、备注型
用于长文本或长文本与数字(大于255个字符)的结合,最长为65535个字符。这种类型用来保存长度较长的文本及数字,它允许字段能够存储长达64000个字符的内容。但Access不能对备注字段进行排序或索引,却可以对文本字段进行排序和索引。
8、OLE对象型
用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、、声音等),最多存储1GB(受磁盘空间限制)。
9、超级链接型:用于存放超级链接地址,最多存储64000个字符。超级链接最多可包含三部分:一是在字段或控件中显示的文本;二是到文件或页面的路径;三是在文件或页面中的地址。在这个字段或控件中插入超级链接地址最简单的方法就是在“插入”菜单中单击“超级链接”命令。
10、查阅向导型
让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。
参考资料:
1、首先使用Access创建一个数据保存在硬盘某处,使用MDB。
2、打开Vs 2013,引入命名空间:
using SystemDataOleDb;
声明对象:
private OleDbConnection _oleDbConn; private OleDbDataAdapter _oleDbAda;
3、构建链接信息:
public readonly static string _strdata = stringFormat("{0}{1}{2}", "provider=microsoftjetoledb40; Data Source=", SystemIOPathGetDirectoryName(AssemblyGetExecutingAssembly()Location), @"\db\StuManDatamdb");
这里是构建一个目录:当前目录先的db文件夹下的StuMandatamdb数据库文件。
当然可以可以直接指定目录:例:
string_strdata=@"provider=microsoftjetoledb40; Data Source=C:\db\StuManDatamdb";
这样就构建好了链接信息。
4、_oleDbConn = new OleDbConnection(_strConn);//根据链接信息实例化链接对象
_oleDbConnopen();//打开连接;
_oleDbAda = new OleDbDataAdapter(strsql, _oleDbConn);//strsql sql语句;
见过sql语句执行的数据库连接对象
_oleDbAdaFill(dt, tableName);
//将结果保存到本地结果及 dt==DataSet dt=new DataSet();
//Ok,Now,可以 *** 作dt了,当然前提它不是空的。
5、调用示例,构建Sql语句,传给显示窗体对象。
6、使用封装好的类,返回查询结果集,并提取数据。
7、运行结果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)