Ⅰ c#中查询access表中的日期,access数据库中日期格式为“日期/时间”,我想查询某一天的所有记录,请指点!
其实有很多不同的。具体的如下。
1、自动增加字段需要重写。在access中经常使用的自动编号字段,导入到mssql后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号。
2、所有的默认值都丢失了。主要是数字类型和日期类型
3、所有now(),time(),date()要改成getdate()
4、所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
5、所有datediff('ww', time1, time2)要改成datediff(week, time1, time2)
6、所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
7、在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字
8、在用access关于时间的使用,大家喜欢使用“select * from aaaa while time="now()”这样的sql语句,然而,在mssql中没有“now()”这个函数,而是使用“getdate()”,所以,所有的sql语句中的“now()”必须换成“getdate()”。
9、日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
10、转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。有时用smalldatetime型时,转化失败,而用datetime型时,转化成功
11、isnull(rowname)要改成rowname = null
12、CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整
13、备注类型要通过cast(column as varchar)来使用
14、true/false类型不能使用,要变为1/0
15、对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
16、在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用
17、在access的sql语句中的时间使用变量查询的时候,大家一般使用"select * from aaaa while time=#"变量名"#",在mssql中是不行的,他的语法是“select * from aaaa while time='"变量名"'"”。(意思是让你把日期时间变量当成字符串来使用)
18、原来ASP里的“DELETE * FROM ……”要改为“DELETE FROM ……”
19、有可能rs.update失败,修改成update 表名 set 字段=‘值’ 这样通过
20、access里面除法可以使用"\"或者"/",MSSQL里面只能使用"/"
21、在SqlServer中建立主键
22、如果还有问题用:rs.open sql,conn,3,2试试
有什么想了解更多的,到 看看,那里挺多文章的
Ⅱ access如何转换日期格式
你址接用con.execute(sql语句)啊.
if request("zd")=1 then
rs1.open sqls,con,1,3
else
rs1.open sqls1,con,1,3
end if
换成
if request("zd")=1 then
con.execute(sqls)
else
con.execute(sqls1)
end if
你试试看.
rs.open这样是打一个可更新或只可查询的记录的.并不是你那样用的.
你的DATE函数用NOW函数试试!
Ⅲ ACCESS 数据库 sql取 年月日
用FormatDateTime函数:
不转换时间:
<%=FormatDateTime(now,0) %>
将当前时间改成“2007年11月1日”
<%=FormatDateTime(now,1) %>
将当前时间格式化为“2007-11-1”
<%=FormatDateTime(now,2) %>
将当前时间格式化为“15:10:45”
<%=FormatDateTime(now,3) %>
将当前时间格式化为“15:10”
<%=FormatDateTime(now,4) %>
Ⅳ C# Access SQl 时间类型
把所有的时间格式参数换成 DateTime.Now.ToString(); 看看,比如
dCom.Parameters.AddWithValue("@发出时间", DateTime.Now.ToString());
如果成功的话就是你赋给 OleDbCommand 的值有问题;
如果不成功,那就检查下你的数据库中对应列是否为时间数据类型。
Ⅳ 关于EXCEL引用ACCESS里的数据,用SQL将文本转换为日期
这个建议先在access中先完成数据类型的转换
如果你在运行sql过程中完成也可以
有个cdate函数,可以把日期格式的字符串转换成日期型。
Ⅵ 如何把access中的yyyymmdd字符串,转化为yyyy/mm/dd 用sql实现。谢谢了
假设表名为table1,字串
yyyymmdd字段名为col1
转换语句如下
update
table1
set
col1=left(col1,4)
&
"/"
&
mid(col1,5,2)
&
"/"
&
right(col1,2)
注意,更改前该日期字段中的日期格式必须严格符合yyyymmdd的格式规范。否则无法正确完成转换。也可以不update改为直接select
,转换表达式是一样的
Ⅶ access中sql语言create table 时要设置短日期格式,要怎么表示
控制面板-区域和语言-格式
看见了没
设置吧!!
Ⅷ 用SQL语言给ACCESS的数据库表中的日期赋值,为什么是错误的
这是在Access中操作:
select * from TblName where DFDate>#2012-12-12#
所以你应该格式化成:YYYY-MM-DD的格式。
不要说显示的是YYYY/MM/DD,那是你显示的短日期格式;不代表数据库就接收这种格式。
Ⅸ access 中用SQL更新表中的日期时间字段要用什么格式
FROM 子句中指定的表的别名不能作为 SET column_name 子句中被修改字段的限定符使用。使用表名吧。
Ⅹ 用insert往access里插入日期/时间型数据,sql语句怎么写
sql语句里基本上是没有类型这一说的。
一般情况下,有带单引号和无引号的区别。
日期型变量你可以 '2004-1-25 20:58:30' 来表示
我用Oracle这样没问题。
需要注意的是,如果你的一个数据库客户端上输入sql语句执行的时候,需要将该客户端的日期格式设置一下。