Access数据库和SQL Server数据库在实际应用中的区别
1.在Access数据库中简历查询语句的步骤
--> 打开你的MDB
--> 在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”-> “查询”
--> 点击数据库窗口中的“新建”按钮
--> 点击“确定”,关闭“显示表”窗口
--> 点击工具栏上的“SQL”,或在“视图”菜单中选择“SQL 视图”
--> 删掉所有的内容
--> 直接输入SQL语句即可
2. Access 数据库,每次只能执行一条sql语句,如果想在Access数据库中一次执行多条Sql语句,则要使用事务进行控制
- public static void ExecuteSqlTran(List<string> SQLStringList)
- {
- using (OleDbConnection conn = new OleDbConnection(SqlHelper.ConString))
- {
- conn.Open();
- OleDbCommand cmd = new OleDbCommand();
- cmd.Connection = conn;
- OleDbTransaction tx = conn.BeginTransaction();
- cmd.Transaction = tx;
- try
- {
- for (int n = ; n < SQLStringList.Count; n++)
- {
- string strsql = SQLStringList[n].ToString();
- if (strsql.Trim().Length > )
- {
- cmd.CommandText = strsql;
- cmd.ExecuteNonQuery();
- }
- }
- tx.Commit();
- }
- catch (System.Data.OleDb.OleDbException E)
- {
- tx.Rollback();
- throw new Exception(E.Message);
- }
- }
- }
OldDbTransaction
3. 在SQL Server中的for xml path语句无法再Access数据库中使用
4. 操作语句
select
access数据库在有多个表查询的时候,表之间的联合语句要使用圆括号括起来,如:
SELECT * FROM (aa LEFT JOIN bb ON aa.a=bb.a) LEFT JOIN cc ON(bb.a=cc.a and bb.b=cc.b)
另外,在多表连接时,不可以使用‘Full Join’连接
access中没有 != 或者<> 但可以使用等价转换,例如 WHERE NOT (FIELDNAME = 'XXX')
update
update对于单表操作时基本一致。
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句会有差别:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Table1 SET a.Name = b.Name FROM Table1 a, Table2 b WHERE a.ID = b.ID;
ACCESS中同样功能的SQL语句:
UPDATE Table1 a, Table2 b SET a.Name = b.Name WHERE a.ID = b.ID;
比较得出:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后,这点同mysql;
delete
SQLSERVER中:DELETE from Table1 WHERE ID > 1;
Access中:DELETE * from Table1 WHERE ID > 1;
比较得出:SQLSERVER中,即只要把select语句里的select与delete的操作语法一致的,不需要*;
5、时间字段
A:要用#号分隔,或者转换为日期
SELECT * FROM Books WHERE RegDate = #2007-5-1# 或
SELECT * FROM Books WHERE RegDate = CDate(’2007-5-1′)
S:可以直接用''
- SELECT * FROM Books WHERE RegDate = ‘2007-5-1′
- O:To_Date
- SELECT * FROM Books WHERE RegDate=To_Date('2007-05-01','yyyy-mm-dd')
6. Access数据库表中的主键要设置自动增长类型,当一个数据表中已经存在数据后,则不可以将字段设置为自动增长类型。
7.Access的查询中不能出现select top 0 from xxx 的情况
8.Access数据库的数据类型转换
CBool Boolean 任何有效的字符串或数值表达式。
CByte Byte 0 到 255。
CCur Currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。
CDate Date 任何有效的日期表达式。
CDbl Double 对于负值,-1.79769313486231E308 到 -4.94065645841247E-324;对于正值,4.94065645841247E-324 到 1.79769313486232E308。
CDec Decimal 对于整数(即没有小数的数字),+/-79,228,162,514,264,337,593,543,950,335。对于具有 28 位小数的数字,值域范围是
+/-7.9228162514264337593543950335。可能的最小非零数字为 0.0000000000000000000000000001。
CInt Integer -32,768 到 32,767;小数部分被四舍五入。
CLng Long -2,147,483,648 到 2,147,483,647;小数部分被四舍五入。
CSng Single 对于负值,-3.402823E38 到 -1.401298E-45;对于正值,1.401298E-45 到 3.402823E38。
CStr String CStr 的返回值取决于 expression 参数。
CVar Variant 对于数字,与双精度型的值域范围相同。对于非数字值,与 String 的值域范围相同。
9 ACCESS 不识别!= 替换成<>
Access数据库和SQL Server数据库在实际应用中的区别的更多相关文章
- [PowerDesign]将数据库从SQL Server数据库转换为MySQL
原文:[PowerDesign]将数据库从SQL Server数据库转换为MySQL 一.迁移Database Schema. 首先使用Sybase Powerdesigner的逆向工程功能,逆向出S ...
- Oracle 数据库和Sql Server数据库的区别
Oracle数据库的访问方式,和SqlServer数据库是有很大差别的,下面用图来说明: 1.Sql Server数据库 SqlServer数据库的访问方式,大致是:假设用户通过sa登录SqlServ ...
- PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较 ...
- 图解如何 将Excel里的数据导入到sql server数据库中
项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...
- SQL Server 数据库项目
ylbtech-.NET Framework: SQL Server 数据库项目 SQL Server 数据库项目 类型:SQL Server 用于创建 SQL Server 数据库的项目 1. 新建 ...
- 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...
- C#操作access和SQL server数据库代码实例
在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...
- 用ASP.NET/C#连接Access和SQL Server数据库
连接Access 首先看一个例子代码片断:程序代码: ------------------------------------------------------------------------- ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...
随机推荐
- 刀哥多线程GCD核心概念gcd
GCD GCD 核心概念 将任务添加到队列,并且指定执行任务的函数 任务使用 block 封装 任务的 block 没有参数也没有返回值 执行任务的函数 异步 dispatch_async 不用等待当 ...
- hdu 1047 Integer Inquiry
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1047 Integer Inquiry Description One of the first use ...
- JavaScript 将多个引用(样式或者脚本)放入一个文件进行引用
1.将样式放入一个文件进行引用 @import url("../media/css/bootstrap.min.css"); @import url("../media/ ...
- 编译QT时出现lib/libQtGui.so: undefined reference to `ts_read_raw'的解决办法
lib/libQtGui.so: undefined reference to `ts_read_raw' /lib/libQtGui.so: undefined reference to `ts_o ...
- 【上传AppStore】iOS项目上传到AppStore步骤流程(第一章) - 上传新的app
1.登录developer.apple.com 2.点击member center后 然后如下图 3.点击certificates Identifiers 进下图 界面基本介绍请看图 : 4. 其次创 ...
- Machine Learning 学习笔记 (2) —— 使用牛顿法寻找极值
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 用牛顿法解方程 牛顿法是一种 ...
- 网络爬虫-使用Python抓取网页数据
搬自大神boyXiong的干货! 闲来无事,看看了Python,发现这东西挺爽的,废话少说,就是干 准备搭建环境 因为是MAC电脑,所以自动安装了Python 2.7的版本 添加一个 库 Beauti ...
- mvc5引用ExtJS6
mvc5引用ExtJS6 摘要:VisualStuio2015 asp.net mvc如何引用ExtJS6,使用BundleConfig. 首先下载ExtJS6.0 gpl版.ExtJS有自己的程序框 ...
- java笔试题(2)
简述构造器的运行机制 首先要注意的是的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个 ...
- Team Homework #2 Decide the roles of each team member ——IloveSE
大家好,我们是IloveSEers! 徐姗,我是一个性格开朗,但却认为计算机比较枯燥的女生.经过两年的学习,自己的编程能力,并不是很强,在这方便还需多多练习.对于软件工程这门课,我充满期待,因为我不仅 ...