當前位置:首頁 » 操作系統 » 資料庫生成隨機數據

資料庫生成隨機數據

發布時間: 2022-05-05 16:33:13

㈠ 如何生成隨機數資料庫

首先要引用ADO對象,打開菜單「工程-引用」,選擇「Microsoft ActiveX Data Objects 2.0 Library」將其溝選,這樣就可以進行聲明ADO對象了
Dim cnn As New ADODB.Connection 'ADO連接對象
Dim Collection As ADODB.Recordset 'ADO記錄集對象
Dim Cnt As Integer '計算產生隨機數的個數
Dim No() As Integer '動態數組存放所有產生的隨機數字

Private Sub Command1_Click()
Form_Unload (True) '調用窗體的卸載事件
End Sub

Private Sub Form_Load()
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path "\Collection.mdb"
'打開資料庫連接,驅動程序Microsoft.Jet.OLEDB.4.0,數據源為當前目錄下的Collection資料庫
Set Collection = New ADODB.Recordset
'申請一個新的Collection記錄集對象
Collection.Open "select * from tab", cnn, adOpenKeyset, adLockOptimistic
'打開記錄集對象
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
If Cnt

sql產生隨機數

下文將為您介紹SQL中的隨機函數rand(),供您參考,如果您是才接觸SQL Server的新手,不妨一看,相信對您學習SQL中的函數會大有幫助。
在SQL Server中,有個隨機函數rand(),有不少新手可能不知道存在這個函數,現在我就把這個函數的一些隨機數生成技巧寫出來,這是面向菜鳥的,老鳥請不要拍磚呀,我的頭還不夠硬
不過還是希望老鳥們多多指教了,現在切入正題:
隨機函數:rand()
在查詢分析器中執行:select rand(),可以看到結果會是類似於這樣的隨機小數:0.36361513486289558,
像這樣的小數在實際應用中用得不多,一般要取隨機數都會取隨機整數。那就看下面的兩種隨機取整數的方法:
1、
A:
select floor(rand()*N) ---生成的數是這樣的:12.0
B:
select cast( floor(rand()*N) as int) ---生成的數是這樣的:12
2、
A:select ceiling(rand() * N) ---生成的數是這樣的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的數是這樣的:12
其中裡面的N是一個你指定的整數,如100,可以看出,兩種方法的A方法是帶有.0這個的小數的,而B方法就是真正的整數了。
大致一看,這兩種方法沒什麼區別,真的沒區別?其實是有一點的,那就是他們的生成隨機數的范圍:
方法1的數字范圍:0至N-1之間,如cast( floor(rand()*100) as int)就會生成0至99之間任一整數
方法2的數字范圍:1至N之間,如cast(ceiling(rand() * 100) as int)就會生成1至100之間任一整數
對於這個區別,看SQL的聯機幫助就知了:
------------------------------------------------------------------------------------
比較 CEILING 和 FLOOR
CEILING 函數返回大於或等於所給數字表達式的最小整數。FLOOR 函數返回小於或等於所給數字表達式的最大整數。例如,對於數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。FLOOR 和 CEILING 返回值的數據類型都與輸入的數字表達式的數據類型相同。
----------------------------------------------------------------------------------
現在,各位就可以根據自己需要使用這兩種方法來取得隨機數了^_^
另外,還要提示一下各位菜鳥,關於隨機取得表中任意N條記錄的方法,很簡單,就用newid():
select top N * from table_name order by newid() ----N是一個你指定的整數,表是取得記錄的條數 。

㈢ 誰知道資料庫中怎樣產生隨機數

公式:(上限-下限+1)* rand() -下限

介紹:John von Neumann說:Any one who considers arithmetical methods of procing random digits is , of course, in a state of sin.

所以,在討論演算法實現隨機數的時候,總是說「偽隨機數」。

現在,應用最廣的隨機數生成演算法是由Derrick Henry Lehmer1951年給出的線性同餘法:

Xn+1 = ( aXn + c ) mod m, n>=0.

在上一篇偽隨機數的論述中,並沒有給出X0, a, c, m的取值規則,只是給出了ANSI C和Microsoft Visual C++的實現。

在這兒我們可以自己先思考一下,我們期望從上式中得到的隨機數應該滿足:

1) 上式的輸出足夠隨機,這是最基本的要求;

2) 上式給出盡量多的輸出,越接近m個越好(不可能超過m),即周期盡量長,最好為m,這樣才能保證上式滿足均勻分布(m個數在周期m中各出現一次);

3) 上式的生成速度足夠快。

最容易想到的,m的取值為計算機字大小(如2^32或2^64)。

但是這兒有個很嚴重的問題:Xn低位的隨機性很弱。原因如下:

令d|m, 且

Yn = Xn mod d



Yn+1 = ( ( aXn + c ) mod m ) mod d

= ( aYn + c ) mod d

上述表達式的意義即:Yn為Xn低k位(d=2^k),這樣的Yn序列形成周期為d甚至更短的同餘序列。舉例說明:d為2^1時,Yn為Xn的最低位(可假定為1或0),若Yn+1 != Yn,則Yn+2 == Yn必定成立,僅當a、c皆為奇數時Yn、Yn+1將0、1交替,否則,為常數(0或1)。

暫時拋開隨機性不管,先找到周期為m的隨機序列中的取值規則。

Donald Knuth在The Art of Computer Programming, Volume 2: Seminumerical Algorithms中的3.2.1.2節對m, a, c和X0取值規則的表述:

1) gcd(c, m) = 1. 即c, m互素,再白一點,c, m除1之外沒有其他公因子;

2) 任給質數p, p|m ==> p|(a-1). 即m%p==0,則(a-1)%p==0。

3) 4|m ==> 4|(a-1). 即m%4==0,則(a-1)%4==0。

這個證明過程對於我這樣的數論基礎不是很扎實的搞應用技術的人來說有點難以理解了。有興趣的話,還是去看3.2.1.2的證明吧:-)。

上面的規則告訴我們,滿足了上述規則後,可以保證序列周期為m。對於前面提到的關於隨機性的問題,既然Xn低位的隨機性比較弱,可以只取Xn的高位作為輸出。高位的隨機性和統計意義由a, c確定,其取值涉及統計檢驗,具體的也還是看3.3吧。

這篇文章解決了具有統計意義的隨機數的部分理論問題。

PS: 之前曾經BS過Windows Live Writer,當時覺得Writer編輯功能太少,不能直接設定鏈接文字的字體顏色,知道CSS可以設定之後,又覺得Word 2007編輯的Blog轉成html之後太大,而且也知道Word 2007上面是可以設置鏈接的target為_blank的。現在發現Writer還是很不錯的了,原來是可以設定格式的,也可以直接編輯html,而且可以Web預覽,鏈接還可以加入到鏈接詞彙表,挺方便的。

㈣ VB如何生成隨機數

1、打開「Microsoft Visual Basic 6.0 中文版」軟體,准備一個空白的工程文件:

㈤ 怎麼生成隨機數

眾所周知,中琅條碼軟體可以批量列印條碼二維碼以及各種各樣的產品標簽,功能比較齊全,操作也非常簡單,今天小編就給大家簡單介紹下條碼軟體中如何隨機生成0-9個位數字。

在條碼軟體中隨機生成0-9個位數字有兩種方法,一是應用條碼軟體自帶的「隨機生成」工具,二是利用「腳本編程」工具。

以上就是條碼軟體中利用「隨機生成」工具和「腳本編程」工具兩種隨機生成0-9個位數字的方法。條碼軟體中還有「序列生成」、「資料庫導入」、「手動輸入」、「日期時間」、「數據引用」、「列印時輸入」等數據添加方法,感興趣的小夥伴可以下載軟體體驗。

附:以下是條碼軟體中隨機生成1-9個位數字代碼:

strReturn=(Math.floor(Math.random()*9)%9+1).toString();

//隨機生成1-9個位數字

㈥ 如何在access資料庫里產生隨機數

access中產生隨機數用rnd函數。

如:

selectrnd()

執行結果:

說明:

rnd() 產生一個大於等於0 且小於 1的隨機數,如果要產生[m,n]中隨機的整數公式:int((n-m+1)*rnd)+m
int(rnd()*1000)表達式產生大於0,小於1000的整數
int(rnd()*900)+100表達式產生大於100,小於1000的整數

㈦ C# 資料庫隨機抽取數據

我這只是思路啊,這個要實現的話要使用多線程技術
一個線程負責產生隨機數與抽取數據
1首先一個隨機數
對比內變數里的隨機數,是否有重復,如果重復則此次無效,重新生成
2,根據此隨機數抽取資料庫中數據。
另一個線程負責清空內存變數的數據
即此線程開著一個計時器,然後根據時間來清除數據
希望對你有所幫助

㈧ 資料庫怎麼讓一列生成隨機數

insert
into
a(id,姓名,性別)
values
(trunc(dbms_random.value(1,100)),'小明','男');
commit;
----trunc(dbms_random.value(1,100))
隨機生成一個1~100以內的整數。

㈨ 如何從access資料庫隨機抽取一條數據

這簡單,你只要先獲取那個資料庫的總行數N(學生總數),然後用隨機函數Rnd生成一個總數以內的一個整數:Int(Rnd*N),然後用這個數做為條件去查資料庫獲得需要的信息就可以拉。

熱點內容
2005資料庫恢復 發布:2024-10-07 06:21:49 瀏覽:376
大疆手機pin密碼是多少 發布:2024-10-07 06:21:10 瀏覽:386
mysql上傳圖片php 發布:2024-10-07 04:13:31 瀏覽:853
手游喊話腳本 發布:2024-10-07 03:53:53 瀏覽:235
maven3編譯jdk6項目 發布:2024-10-07 03:19:57 瀏覽:47
緩存的視頻無法剪輯 發布:2024-10-07 03:19:40 瀏覽:91
解壓工具RAR 發布:2024-10-07 02:42:49 瀏覽:355
蘋果網盤解壓 發布:2024-10-07 02:42:49 瀏覽:162
為什麼安卓蘋果手游不互通 發布:2024-10-07 02:31:28 瀏覽:282
如何刪除手機中的游戲緩存 發布:2024-10-07 02:11:28 瀏覽:876