ACCESS和MSSQL 如何随机读取数据库记录
查询语句只要这样写,就可以随机取出记录了
SQL="Select top 6 * from Dv_bbs1 where isbest = 1 and layer = 1 order by newID() desc"
在ACCESS里
SELECT top 15 id from tablename order by rnd(id)
SQL Server:
Select TOP N * from TABLE Order By NewID()
Access:
Select TOP N * from TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Select TOP N * from TABLE Order BY Rnd(Len(UserName))
MySql:
Select * from TABLE Order By Rand() Limit 10
SQL数据库有个newid函数,可以很方便的用SQL语句得到表中的随机数据。但access数据库没这么方便,虽然有个Rnd,可以通过“select top 10 * from tb order by rnd(id)”得到随机数据,可惜在VB中使用,产生的随机序列是一样的。
有人说在程序中加上Randomize初始化随机种子,那么这只说对了一半,在程序中简单的加上Randomize,是没作用的,道理很简单,Randomize不可能影响SQL语句中的rnd,那只不过是个字符串,SQL语句是放到jet中去执行的。
前些天在论坛上看到有人说用time,那么只用rnd(time)这样是不行的,rnd中必须要包含表中的一个字段(任意字段,当然是主键效果更好),测试下来,rnd(time+id)这样依然不行! 不过非常意外的是rnd(time-id)却成功了。为什么说意外,按我的理解,time在与数值做运算时,会转换成一个小于1的double,这样与ID(大于1的正值)做减运算的结果必然是一个负数,我们知道rnd如果用了负数种子,会产生相同的随机序列,这是文件加解密算法中常用到的方法,可在这儿却能得到正确的结果,到现在也没想通......
接下去,用rnd(time-id)继续测试你会发现,连续快速地查询下,会有问题,会出现二次或三次查询结果一样的问题。分析一下可以找到原因,rnd(number)中的number是个single,这样它会截断time-id这个运算结果double后面数字,这样快速查询时number这个值没改变,所以查询结果也没有改变。
相关文档:
原因:IIS没有注册
解决办法:
方法一:
在CMD中进入目录C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,运行aspnet_regiis
1、aspnet_regiis -ga administrator(administrator为当前用户)
2、aspnet_regiis -i (注册IIS)
3、iisreset /noforce (重启IIS)
操作详细:
C:\Documents and Settings\ ......
--字段添加说明
EXEC sp_addextendedproperty 'MS_Description', '要添加的说明', 'user', dbo, 'table', 表名, 'column', 列名
--删除字段说明
EXEC sp_dropextendedproperty 'MS_Description', 'user', dbo, 'table', 表名, 'column', 字段名
--查看字段说明
SELECT
[Table Name] = i_s.TAB ......
@echo off
:dosmenu
REM 选择菜单
echo Windows 服务启动或关闭 By hope 2008年2月7日
echo.
echo [1]启动Sql Server2005 [2]关闭Sql Server2005
echo [3]启动Oracle9i [4]关闭Oracle9i
echo.
echo ......
Access、SQLServer、Oracle常见SQL语句应用区别
关劲松 PMP
如果要兼容Access、SQL Server、Oracle三个数据库版本;我们在编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。
以下A代表Access,S代表SQL Server,O代表Oracle
1、取当前系统时间
A:Select Now()
S:Selec ......
class Program
{
static void Main(string[] args)
{
String conStr = "Data Source=mesqas;User ID=ctdsp_oee;Password=12345 ......