Я здесь новичок, и английский не является моим родным языком, поэтому я надеюсь, что вы, ребята, понимаете меня.
Может кто-нибудь дать мне пример того, как создать функцию, которая создает таблицу с даннымииз результата вложенных циклов.
Я пытаюсь сделать функцию SQL CLR в C # для создания таблицы со всеми комбинациями для лотереи, у меня есть следующий код паскаля:
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примеры, но в основном они не работают и так запутаны.
Приложение 08/29/2011
Сейчас я изучаю, как работает этот сайт, так что извините, если я не могу сделатьдополнение к вопросу, я вижу только вариант редактирования в основном вопросе
У меня есть рабочий код C ++ (этот я компилирую с использованием DEV C ++), создающий текст со всеми комбинациями, вот мой код:
#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;
}
Затем я могу импортировать эти данные для SQL, используя DTS, моя цель - иметь CLR для выполнения всей работы в SQL и может уменьшить таблицу комбинаций для быстрой загрузки базы данных и быстрого перестроения с помощью вызова функциикод C ++ как DLL (или, другими словами, используя CLR).Другое дело, что я буду работать над этой таблицей комбинаций, выполняя много поисков («Выбор», который я буду делать, используя TSQL и отправляя результат для массива в C #), и, конечно, у меня есть все результаты лотереи для поисковых данных, в обоих случаях(комбинации и результаты) Мне нужно будет использовать массивы для моего исследования, это еще один момент для работы с CLR, я помню много вещей из C ++ с тех пор, как я учился в университете, и, по моему мнению, довольно легко и быстро работать сC # вместо этого использовать курсоры TSQL для моей цели.Моя идея состоит в том, чтобы создать базу данных SQL с процедурами C # и TSQL, чтобы дать мне лучшие и самые быстрые подсказки, чтобы играть в лотерею, тратя около 50,00 долларов США в неделю, первая книга, которую я читаю:
Какчтобы выиграть в лотерею от Гэйл Ховард
Не знаю, как правильно назвать по-английски.
Я буду использовать многие другие системы из блогов и веб-сайтов, но только те, которые я могу понять, для меня, нет смысла создавать программы, использующие сложные формулы, которые я не могу понять.
Спасибо за все ответы, и я буду продолжать пытаться заставить CLR работать на меня, вместо этого мне нужно каждый раз использовать DTS для экспорта и импорта данных, иОгромное спасибо Мартину Смиту за то, что он показал мне, как можно имитировать вложенный цикл while внутри MSSQL, у меня возникла проблема с памятью типа (на моем ноутбуке MSSQL использует 2048 МБ свободной оперативной памяти для SQL):
Произошла ошибка при выполнении пакета.Сообщение об ошибке: Exceção do tipo 'System.OutOfMemoryException' foi acionada.
Но до того, как ошибка сработала довольно хорошо, я уверен, что вопрос в экзаменах Microsoft SQL спросит, является ли вложенныйвозможна петля, я отвечу на вашем примере; -p