描述:VS2008 C++程序。从N中选取M个数,存入数组中,这个功能已经实现。但是尝试用ado.net写入数据库遇到问题。网上各种教程已经把我弄晕了。有大侠帮忙改下程序么?只要写入就可以,我实在是比较菜。比如就写入table1的一列即可。#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "adoEOF")
//no_namespace rename("EOF", "EndOfFile")//#include <afxwin.h>
//#include <afx.h>
#include <stdio.h>
#include <iostream>
#include <DBAdo.h>
//#include <icrsint.h>
//#include <stdafx.h>using namespace std;
//System.Data.SqlClient;
//DataSet myDataSet = new DataSet("myDataSet");
//我是华丽的分割线
char Result[1024][7];
int j=0;
char CharArry[4];
//using namespace std;void Search(int array[], int array_size, int now_index, int choosed_array[], int choosed_count, int max_count)
{
int i = 0;
//int j = 0;
//int Result[20][4];
if (choosed_count > max_count)
return;
if (choosed_count == max_count)
{
/*这里打印choosed_array[0]到choosed_array[choosed_count - 1]*/
for (i = 0; i < choosed_count; i++)
{
//printf("%d ", choosed_array[i]);//把打印改成存入数组
Result[j][i] = choosed_array[i];
}
++j;
//putchar('\n');
return;
}
for (int i = now_index; i < array_size; i++)
{
choosed_array[choosed_count] = array[i];
Search(array, array_size, i + 1, choosed_array, choosed_count+1, max_count);
}
}
int main()
{
int array[128];
int chosen_array[128];
//int Result[20][4];
int N, M;
//int j=0; //while (1)
//{
printf("输入备选数字和所需数字个数,输入两个0则退出\n");
scanf("%d%d", &N, &M);
//if (0 == N && 0 == M)
// break;
if (N < M)
{
printf("出错!备选数字应该不少于所需数字\n");
//continue;
}
for (int i = 0; i < N; i++)
array[i] = i+1;
Search(array, N, 0, chosen_array, 0, M);
//}
for(j=0;j<1024;j++)
{
for(int i=0;i<7;i++)
{
printf("%d ", Result[j][i]);
//需要把输出改为字符串
}
putchar('\n');
}
return 0;
}
no_namespace rename("EOF", "adoEOF")
//no_namespace rename("EOF", "EndOfFile")//#include <afxwin.h>
//#include <afx.h>
#include <stdio.h>
#include <iostream>
#include <DBAdo.h>
//#include <icrsint.h>
//#include <stdafx.h>using namespace std;
//System.Data.SqlClient;
//DataSet myDataSet = new DataSet("myDataSet");
//我是华丽的分割线
char Result[1024][7];
int j=0;
char CharArry[4];
//using namespace std;void Search(int array[], int array_size, int now_index, int choosed_array[], int choosed_count, int max_count)
{
int i = 0;
//int j = 0;
//int Result[20][4];
if (choosed_count > max_count)
return;
if (choosed_count == max_count)
{
/*这里打印choosed_array[0]到choosed_array[choosed_count - 1]*/
for (i = 0; i < choosed_count; i++)
{
//printf("%d ", choosed_array[i]);//把打印改成存入数组
Result[j][i] = choosed_array[i];
}
++j;
//putchar('\n');
return;
}
for (int i = now_index; i < array_size; i++)
{
choosed_array[choosed_count] = array[i];
Search(array, array_size, i + 1, choosed_array, choosed_count+1, max_count);
}
}
int main()
{
int array[128];
int chosen_array[128];
//int Result[20][4];
int N, M;
//int j=0; //while (1)
//{
printf("输入备选数字和所需数字个数,输入两个0则退出\n");
scanf("%d%d", &N, &M);
//if (0 == N && 0 == M)
// break;
if (N < M)
{
printf("出错!备选数字应该不少于所需数字\n");
//continue;
}
for (int i = 0; i < N; i++)
array[i] = i+1;
Search(array, N, 0, chosen_array, 0, M);
//}
for(j=0;j<1024;j++)
{
for(int i=0;i<7;i++)
{
printf("%d ", Result[j][i]);
//需要把输出改为字符串
}
putchar('\n');
}
return 0;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货