我是新來的,英文不是我的母語,所以我希望你們能理解我。有人有一個例子,如何在SQL Server 2008中執行CLR插入?
有人可以給我一個如何使用嵌套循環的結果創建一個數據表的函數的例子。
我試圖做一個SQL CLR函數在C#中創建一個表,用於彩票遊戲的所有組合,我有以下PASCAL代碼:
program lotery;
uses fdelay, crt;
var
x,y,z,a,b,c:integer;
cont:longint;
begin
clrscr;
x:=0;
y:=0;
z:=0;
a:=0;
b:=0;
c:=0;
cont:=0;
for x:=0 to 59 do
begin
for y:=x+1 to 59 do
begin
for z:=y+1 to 59 do
begin
for a:=z+1 to 59 do
begin
for b:=a+1 to 59 do
begin
for c:=b+1 to 59 do
begin
cont:=cont+1;
Writeln ('Dezenas: ',x,' - ',y,' - ',z,' - ',a,' - ',b,' - ',c,' = Total de Dezenas: ',cont);
end;
end;
end;
end;
end;
end;
readkey;
end.
僅使用T-SQL我注意到,我不能做while
內while
嵌套循環。所以我試圖做一個SQL CLR函數,但我不知道從哪裏開始。
我使用的是SQL Server 2008和Visual Studio 2010中
我在看MSDN的例子,但多數情況下它們的不工作,都是如此混亂。
附錄2011年8月29日
我正在學習這個網站是如何工作的現在也,很抱歉,如果我不能做關於這個問題的增編,我只看到在主要問題
編輯選項我有一個工作的C++(這個我編譯使用DEV C++)代碼做一個txt的所有組合,我的繼承人代碼:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream myfile;
myfile.open ("Combinacoes.txt");
int total = 0;
for (int contador = 1; contador <= 60; contador++)
for (int Bola_01 = 1; Bola_01 <= 60; Bola_01++)
for (int Bola_02 = 1; Bola_02 <= 60; Bola_02++)
for (int Bola_03 = 1; Bola_03 <= 60; Bola_03++)
for (int Bola_04 = 1; Bola_04 <= 60; Bola_04++)
for (int Bola_05 = 1; Bola_05 <= 60; Bola_05++)
for (int Bola_06 = 1; Bola_06 <= 60; Bola_06++)
{
total = Bola_01 + Bola_02 + Bola_03 + Bola_04 + Bola_05 + Bola_06;
myfile << Bola_01 << "," << Bola_02 << "," << Bola_03 << "," << Bola_04 << "," << Bola_05 << "," << Bola_06 << "," << total << endl;
// printf ("%d , %d , %d , %d , %d , %d , %d \n", Bola_01, Bola_02, Bola_03, Bola_04, Bola_05, Bola_06, total);
total = 0;
}
return 0;
}
然後我就可以導入此數據使用DTS SQL,我的目標是有一個CLR可以在SQL中完成所有工作,並可以快速縮小組合表使用調用C++代碼作爲DLL(或者換句話說使用CLR)的函數來裝載數據庫並快速重建。 另一點是我將在這個組合表上做很多搜索(選擇我將使用TSQL並將結果發送到C#中的數組),而且我也有搜索數據的抽獎結果,案例(組合和結果)我需要使用數組來完成我的研究,這是與CLR一起工作的另一點,我在大學期間記得C++提供的許多東西,而且我的思想非常簡單快速的工作用C#代替我的目標使用TSQL遊標。 我的想法是用C#和TSQL程序來做SQL數據庫,以使我可以在彩票支出每週花費大約50美元時玩最好,最快的提示,我正在閱讀的第一本書是:
如何在蓋爾·霍華德贏得抽獎
不知道正確的英文名稱。
我會使用許多其他系統從博客和網站,但只有那些我可以理解的,對我來說,沒有一點使用複雜公式的程序,我不明白。
感謝所有的答案,我會繼續嘗試讓CLR爲我工作,而不是每次都需要使用DTS導出和導入數據,並且非常感謝Martin Smith爲我演示瞭如何模擬一個嵌套的while循環的MSSQL,我遇到了內存問題(我的筆記本電腦有MSSQL,使用2048 MB可用RAM到SQL):
執行批處理時發生錯誤。錯誤信息是:異常做出'System.OutOfMemoryException'foio acionada。
但錯誤是工作之前相當不錯,而且我敢肯定,如果在Microsoft SQL考試的問題問,如果一個嵌套的循環是可能出現的,我將與你的榜樣;-p
你需要它在數據庫中嗎?看看在http://stackoverflow.com/questions/1157070/any-best-practice-of-doing-table-record-insert-with-sql-clr-store-procedure做它從客戶端進程從c# 。 –
您是否需要創建表格或將數據存儲在表格中?更重要的是你必須做循環?你能接受一個不使用循環的SQL答案嗎? –
最後 - 你可以發佈你嘗試過的SQL嗎? –