ASP ACCESS 和ASP SQL 有什么区别??
我是sql刚刚入门,然后工作要求要用Access连接。我想那位大哥大姐给俺说一下连接字符串和打开连接时的区别,最好实例说明。谢了命名空间怎么该?还有:SqlConnect...
我是sql刚刚入门,然后工作要求要用Access连接。
我想那位大哥大姐给俺说一下连接字符串和打开连接时的区别,
最好实例说明。
谢了
命名空间怎么该?
还有:SqlConnection con = new SqlConnection("");
SqlCommand cmd = new SqlCommand("",con);怎么改? 展开
我想那位大哥大姐给俺说一下连接字符串和打开连接时的区别,
最好实例说明。
谢了
命名空间怎么该?
还有:SqlConnection con = new SqlConnection("");
SqlCommand cmd = new SqlCommand("",con);怎么改? 展开
展开全部
access是中小型数据库,sql是大型的,当存储容量达到一定程度的时候,就会明显的感觉到他们的区别,主要是在存取速度上!
access可以单独的上传下载,操作它,本机不需要安装access,而,sql的话,跟mysql相似,你必须在本机安装sql才能在本机上操作数据库,当然也可以通过连接操作网络上的sql数据库,操作他们必须用项对应的驱动……
其实还有很多区别的,这里一时也说不清楚,还是自己体会来得深刻!
处了在处理更多数据时速度快外,另外还有有很多功能,在表上,数据上等,sql还有详细的表单来记录访问情况等,双机备份,等等,我也说不完
1、视图:
SQL
Server有视图功能,这样就不要一个劲的写很多SQL语句将多表串联起来了。
2、存储过程:
可以说目前绝大多数的数据库应用程序用这个功能就可以完成对数据库的操作了,提高了安全性,尤其是类似于组件功能,最关键一点,速度,毕竟和系统是结合在一起的。
3、触发器:
有了触发器,很多希望只有通过写代码才能完成的工作就不要做了。
access有极限,sql可以完全修复这些问题~一旦access上了100mb,很容易造成服务器iis假死,或者吃光你机子的内存~而且相对而言sql的数据备份比较方便,功能强大很多啊~,要看想用它来做什么了一个小型一个大型!
动易程序Access和SQL
Server数据库的区别
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL
Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL
Server还有更多的扩展,可以用存储过程,数据库大小无极限限制
Access与语句SqlServer的语句语法区别
1、
Inser
Into
…..Select
…From
语句:
在ACCESS中以下语句
INSERT
INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)
(SELECT
200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index
FROM
PubSubJectAcc
WHERE
PubSubJectAcc.co_type='03')
中后面"(select
200201******.co_Type='03')"中的小括号("(",")")必须去掉才能执行,如下:
INSERT
INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)
SELECT
200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index
FROM
PubSubJectAcc
WHERE
PubSubJectAcc.co_type='03'
在SQL
SERVER
中都可以
2、
Inner
Join
语句1
StrSql:='select
a.user_id,a.user_opcode,b.copy_name
from
sysuser
a
inner
join
(syscopysuser
c
inner
join
syscopys
b
on
c.copy_id=c.copy_id)
on
a.user_id=c.user_id
where
a.user_opcode='''
+EdtUserOpCode.text+'''
And
copy_name='''+Tmpcopyname
+'''';
应该改为
StrSql:='select
a.user_id,a.user_opcode,b.copy_name
from
sysuser
a
inner
join
(syscopysuser
c
inner
join
syscopys
b
on
c.copy_id=d.copy_id)
on
a.user_id=c.user_id
where
a.user_opcode='''
+EdtUserOpCode.text+'''
And
copy_name='''+Tmpcopyname
+'''';
该行代码的检索条件错误:应该把C.copy_id=C.Copy_id
改为c.copy_id=d.copy_id
注:两种写法都能在SQL-SERVER中运行,但c.copy_id=C.copy_id在ACCESS中不能运行
3、
Inner
Join
语句2
StrSql:='select
copy_year,copy_name,a.copy_id
from
SysCopys
a
inner
join
SysCopysUser
b
on
a.curcopy_flag=1
and
a.copy_id=b.copy_id
where
b.user_id='
+
''''
+TmpPubUserID+
'''';
该为
StrSql:='select
copy_year,copy_name,a.copy_id
from
SysCopys
a
inner
join
SysCopysUser
b
on
a.copy_id=b.copy_id
where
a.curcopy_flag=''1''
and
b.user_id='
+
''''
+TmpPubUserID+
'''';
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
4、
Inner
Join语句3
SQl
server
中可以执行以下语句
'SELECT
distinct
sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort
From
sysoption
inner
join
sysroleoption
ON
sysoption.opti_id=sysroleoption.opti_id
AND
sysroleoption.role_id=:roleid'
但ACCESS中不能,只能
'SELECT
distinct
sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort
From
sysoption
inner
join
sysroleoption
ON
sysoption.opti_id=sysroleoption.opti_id
Where
sysroleoption.role_id=:roleid'
5、
Update语句
Sql
SerVer
中能执行但Access
中不能
'UPDATE
sysuserrole
SET
sysuserrole.role_sort
=
(SELECT
sysrole.role_sort
FROM
sysrole
WHERE
sysuserrole.role_id
=
sysrole.role_id
and
sysuserrole.user_id='01')'
6、
日期比较
SQL
SERVER
中用
StrSql:='select
copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date
'
+'From
SysCopys
'
+'where
copy_id='''+LoginCopyID+'''
'
+'and
start_date<='''+datetostr(LoginDate)+'''
'
+'and
end_date>='''+datetostr(LoginDate)+'''';
ACCESS中用
StrSql:='select
copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date
'
+'From
SysCopys
'
+'where
copy_id='''+LoginCopyID+'''
'
+'and
start_date<=#'+datetostr(LoginDate)+'#
'
+'and
end_date>=#'+datetostr(LoginDate)+'#'
参考以上的第10个函数“GetDateStr”
7、
最大数值获取语句
StrSql:='insert
into
sysRoleOption
'
+'select
'''+fidRoleId+'''
as
Role_ID,opti_id,'
+'convert(numeric,opti_id)-(convert(numeric,opti_parentid)*100)+'+
MaxOptiSort
+'
as
opti_Sort
from
sysoption
where
opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+'''
and
opti_bottom=''1'+'''';
改为
StrSql:='insert
into
sysRoleOption
'
+'select
'''+fidRoleId+'''
as
Role_ID,opti_id,'
+'opti_id-opti_parentid*100+'+
MaxOptiSort
+'
as
opti_sort
from
sysoption
where
opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+'''
and
opti_bottom=''1'+''''
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
access可以单独的上传下载,操作它,本机不需要安装access,而,sql的话,跟mysql相似,你必须在本机安装sql才能在本机上操作数据库,当然也可以通过连接操作网络上的sql数据库,操作他们必须用项对应的驱动……
其实还有很多区别的,这里一时也说不清楚,还是自己体会来得深刻!
处了在处理更多数据时速度快外,另外还有有很多功能,在表上,数据上等,sql还有详细的表单来记录访问情况等,双机备份,等等,我也说不完
1、视图:
SQL
Server有视图功能,这样就不要一个劲的写很多SQL语句将多表串联起来了。
2、存储过程:
可以说目前绝大多数的数据库应用程序用这个功能就可以完成对数据库的操作了,提高了安全性,尤其是类似于组件功能,最关键一点,速度,毕竟和系统是结合在一起的。
3、触发器:
有了触发器,很多希望只有通过写代码才能完成的工作就不要做了。
access有极限,sql可以完全修复这些问题~一旦access上了100mb,很容易造成服务器iis假死,或者吃光你机子的内存~而且相对而言sql的数据备份比较方便,功能强大很多啊~,要看想用它来做什么了一个小型一个大型!
动易程序Access和SQL
Server数据库的区别
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL
Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL
Server还有更多的扩展,可以用存储过程,数据库大小无极限限制
Access与语句SqlServer的语句语法区别
1、
Inser
Into
…..Select
…From
语句:
在ACCESS中以下语句
INSERT
INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)
(SELECT
200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index
FROM
PubSubJectAcc
WHERE
PubSubJectAcc.co_type='03')
中后面"(select
200201******.co_Type='03')"中的小括号("(",")")必须去掉才能执行,如下:
INSERT
INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)
SELECT
200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index
FROM
PubSubJectAcc
WHERE
PubSubJectAcc.co_type='03'
在SQL
SERVER
中都可以
2、
Inner
Join
语句1
StrSql:='select
a.user_id,a.user_opcode,b.copy_name
from
sysuser
a
inner
join
(syscopysuser
c
inner
join
syscopys
b
on
c.copy_id=c.copy_id)
on
a.user_id=c.user_id
where
a.user_opcode='''
+EdtUserOpCode.text+'''
And
copy_name='''+Tmpcopyname
+'''';
应该改为
StrSql:='select
a.user_id,a.user_opcode,b.copy_name
from
sysuser
a
inner
join
(syscopysuser
c
inner
join
syscopys
b
on
c.copy_id=d.copy_id)
on
a.user_id=c.user_id
where
a.user_opcode='''
+EdtUserOpCode.text+'''
And
copy_name='''+Tmpcopyname
+'''';
该行代码的检索条件错误:应该把C.copy_id=C.Copy_id
改为c.copy_id=d.copy_id
注:两种写法都能在SQL-SERVER中运行,但c.copy_id=C.copy_id在ACCESS中不能运行
3、
Inner
Join
语句2
StrSql:='select
copy_year,copy_name,a.copy_id
from
SysCopys
a
inner
join
SysCopysUser
b
on
a.curcopy_flag=1
and
a.copy_id=b.copy_id
where
b.user_id='
+
''''
+TmpPubUserID+
'''';
该为
StrSql:='select
copy_year,copy_name,a.copy_id
from
SysCopys
a
inner
join
SysCopysUser
b
on
a.copy_id=b.copy_id
where
a.curcopy_flag=''1''
and
b.user_id='
+
''''
+TmpPubUserID+
'''';
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
4、
Inner
Join语句3
SQl
server
中可以执行以下语句
'SELECT
distinct
sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort
From
sysoption
inner
join
sysroleoption
ON
sysoption.opti_id=sysroleoption.opti_id
AND
sysroleoption.role_id=:roleid'
但ACCESS中不能,只能
'SELECT
distinct
sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort
From
sysoption
inner
join
sysroleoption
ON
sysoption.opti_id=sysroleoption.opti_id
Where
sysroleoption.role_id=:roleid'
5、
Update语句
Sql
SerVer
中能执行但Access
中不能
'UPDATE
sysuserrole
SET
sysuserrole.role_sort
=
(SELECT
sysrole.role_sort
FROM
sysrole
WHERE
sysuserrole.role_id
=
sysrole.role_id
and
sysuserrole.user_id='01')'
6、
日期比较
SQL
SERVER
中用
StrSql:='select
copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date
'
+'From
SysCopys
'
+'where
copy_id='''+LoginCopyID+'''
'
+'and
start_date<='''+datetostr(LoginDate)+'''
'
+'and
end_date>='''+datetostr(LoginDate)+'''';
ACCESS中用
StrSql:='select
copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date
'
+'From
SysCopys
'
+'where
copy_id='''+LoginCopyID+'''
'
+'and
start_date<=#'+datetostr(LoginDate)+'#
'
+'and
end_date>=#'+datetostr(LoginDate)+'#'
参考以上的第10个函数“GetDateStr”
7、
最大数值获取语句
StrSql:='insert
into
sysRoleOption
'
+'select
'''+fidRoleId+'''
as
Role_ID,opti_id,'
+'convert(numeric,opti_id)-(convert(numeric,opti_parentid)*100)+'+
MaxOptiSort
+'
as
opti_Sort
from
sysoption
where
opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+'''
and
opti_bottom=''1'+'''';
改为
StrSql:='insert
into
sysRoleOption
'
+'select
'''+fidRoleId+'''
as
Role_ID,opti_id,'
+'opti_id-opti_parentid*100+'+
MaxOptiSort
+'
as
opti_sort
from
sysoption
where
opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+'''
and
opti_bottom=''1'+''''
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
展开全部
sql是标准化数据库操作语言,access是个人小型数据库,两者不一样的,asp连接ACCESS,利用SQL语言操作数据。
dim conn
dim connstr
dim db
db="../Databases/data.mdb" '数据库文件位置
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) ''数据库连接字符串
set conn=server.createobject("ADODB.CONNECTION") ''定义conn对象
conn.open connstr ''打开连接
Set rs = Server.CreateObject("ADODB.Recordset") ''定义RS为ado返回集合
sql="select * from News where id="& id &"" ''sql语言
rs.open sql,conn,1,3 ''执行SQL语言
返回数据库字段内容用rs("id")
误解题目了!~~~~:(
dim conn
dim connstr
dim db
db="../Databases/data.mdb" '数据库文件位置
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) ''数据库连接字符串
set conn=server.createobject("ADODB.CONNECTION") ''定义conn对象
conn.open connstr ''打开连接
Set rs = Server.CreateObject("ADODB.Recordset") ''定义RS为ado返回集合
sql="select * from News where id="& id &"" ''sql语言
rs.open sql,conn,1,3 ''执行SQL语言
返回数据库字段内容用rs("id")
误解题目了!~~~~:(
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本上差不多,两种连接字符串网上应该都有标准的
另外就是access和sql里可能字段的分类和类型会稍微有些不同,各自的禁止使用的关键字也不同
另外就是access和sql里可能字段的分类和类型会稍微有些不同,各自的禁止使用的关键字也不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是sql server连接字符串:
strconn="driver={SQL Server};server=localhost;database=dataname;uid=sa;pwd=;"
这是access连接字符串:
connstr="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("data.mdb")
说明:连接时只是连接字符串不同,比如以上所示。打开都是一样的。比如:
set conn=server.createobject("adodb.connection")
conn.open connstr
就可以了。
strconn="driver={SQL Server};server=localhost;database=dataname;uid=sa;pwd=;"
这是access连接字符串:
connstr="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("data.mdb")
说明:连接时只是连接字符串不同,比如以上所示。打开都是一样的。比如:
set conn=server.createobject("adodb.connection")
conn.open connstr
就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要是MSsql与access的区别,语法上差不多,但Mssql功能更强大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询