VC写得ODBC数据库程序如何打包制成安装程序呀 VC写得ODBC数据库程序如何打包制成安装程序呀?还有就是如果里面还对一个控件注册怎么做呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.vckbase.com/document/viewdoc/?id=1346 伯虎兄您好!您推荐的贴子我已看过,因为下不到要用的软件,我就用了SQLConfigDataSource这个函数,但是出了个错“ODBC_ERROR_COMPONENT_NOT_FOUND”,不知老兄您是否有时间帮忙解决下,下面是我的代码:#include <stdio.h>#include <windows.h>#include "sql.h"#include <odbcinst.h>#include "io.h"main(){ RETCODE retcode; unsigned long pfErrorCode; char dsn[1024]="DSN=swyy\0FIL=MS Access\0DRIVERID=25\0DRIVER="; char path[512]; char driver[]="\\odbcjt32.dll\0"; char database[]="\\data\\swyy.mdb\0"; int i,length; char *offset; offset=dsn+42; for(i=0;i<512;i++) path[i]=0; length=GetSystemDirectory(path,512); for(i=0;i<length;i++) { *offset=path[i]; offset++; } for(i=0;driver[i]!=0;i++) { *offset=driver[i]; offset++; } *offset=0; offset++; *offset='D'; offset++; *offset='B'; offset++; *offset='Q'; offset++; *offset='='; offset++; for(i=0;i<512;i++) path[i]=0; length=GetCurrentDirectory(512,path); for(i=0;i<length;i++) { *offset=path[i]; offset++; } for(i=0;database[i]!=0;i++) { *offset=database[i]; offset++; } *offset=0; if(SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN, "MS Access",dsn)) printf("ok"); else retcode=SQLInstallerError(1, &pfErrorCode,NULL,20,NULL); switch(pfErrorCode) { case ODBC_ERROR_GENERAL_ERR: printf("ODBC_ERROR_GENERAL_ERR"); break; case ODBC_ERROR_INVALID_HWND: printf("ODBC_ERROR_INVALID_HWND"); break; case ODBC_ERROR_INVALID_REQUEST_TYPE: printf("ODBC_ERROR_INVALID_REQUEST_TYPE"); break; case ODBC_ERROR_INVALID_NAME: printf("ODBC_ERROR_INVALID_NAME"); break; case ODBC_ERROR_INVALID_KEYWORD_VALUE: printf("ODBC_ERROR_INVALID_KEYWORD_VALUE"); break; case ODBC_ERROR_REQUEST_FAILED: printf("ODBC_ERROR_REQUEST_FAILED"); break; case ODBC_ERROR_COMPONENT_NOT_FOUND: printf("ODBC_ERROR_COMPONENT_NOT_FOUND"); break; case ODBC_ERROR_OUT_OF_MEM: printf("ODBC_ERROR_OUT_OF_MEM"); break; }} 一个手工注册access的odbc数据源例子: if(SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0", "DSN=Qyycrz\0DBQ=ycrz.mdb\0")==1) TRACE("成功配置数据源!\n"); else AfxMessageBox("配置数据源失败!"); if(SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN, "MS Access",dsn))--------------------参数填的不对 多语言问题,请大神解惑,急。 怎样在richedit控件中实现图文混显 请问高手如何不重载OnFileOpen 得到文件路径 VS2005开发ocx的初级问题? 江湖救济啊~~(在线等) WinCE下面读写COM口的问题 关于CPaintDC类的几个疑问 推荐一些制作dll,com和Activex的好书,参与有分,up有分 为什么我在CInternetSession中设置超时,为什么不起作用啊 "参数不足,期待是1"的问题? 高手请问,如何去掉子窗口标题栏上的最大化和最小化按钮,但保留关闭按钮? 如何得到另外一个运行程序的某一窗口的句柄
#include <stdio.h>#include <windows.h>#include "sql.h"#include <odbcinst.h>
#include "io.h"
main()
{
RETCODE retcode;
unsigned long pfErrorCode;
char dsn[1024]="DSN=swyy\0FIL=MS Access\0DRIVERID=25\0DRIVER=";
char path[512];
char driver[]="\\odbcjt32.dll\0";
char database[]="\\data\\swyy.mdb\0";
int i,length;
char *offset;
offset=dsn+42;
for(i=0;i<512;i++)
path[i]=0;
length=GetSystemDirectory(path,512);
for(i=0;i<length;i++)
{
*offset=path[i];
offset++;
}
for(i=0;driver[i]!=0;i++)
{
*offset=driver[i];
offset++;
}
*offset=0;
offset++;
*offset='D';
offset++;
*offset='B';
offset++;
*offset='Q';
offset++;
*offset='=';
offset++;
for(i=0;i<512;i++)
path[i]=0;
length=GetCurrentDirectory(512,path);
for(i=0;i<length;i++)
{
*offset=path[i];
offset++;
}
for(i=0;database[i]!=0;i++)
{
*offset=database[i];
offset++;
}
*offset=0;
if(SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN, "MS Access",dsn))
printf("ok");
else
retcode=SQLInstallerError(1, &pfErrorCode,NULL,20,NULL);
switch(pfErrorCode)
{
case ODBC_ERROR_GENERAL_ERR:
printf("ODBC_ERROR_GENERAL_ERR");
break;
case ODBC_ERROR_INVALID_HWND:
printf("ODBC_ERROR_INVALID_HWND");
break;
case ODBC_ERROR_INVALID_REQUEST_TYPE:
printf("ODBC_ERROR_INVALID_REQUEST_TYPE");
break;
case ODBC_ERROR_INVALID_NAME:
printf("ODBC_ERROR_INVALID_NAME");
break;
case ODBC_ERROR_INVALID_KEYWORD_VALUE:
printf("ODBC_ERROR_INVALID_KEYWORD_VALUE");
break;
case ODBC_ERROR_REQUEST_FAILED:
printf("ODBC_ERROR_REQUEST_FAILED");
break;
case ODBC_ERROR_COMPONENT_NOT_FOUND:
printf("ODBC_ERROR_COMPONENT_NOT_FOUND");
break;
case ODBC_ERROR_OUT_OF_MEM:
printf("ODBC_ERROR_OUT_OF_MEM");
break;
}
}
if(SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",
"DSN=Qyycrz\0DBQ=ycrz.mdb\0")==1)
TRACE("成功配置数据源!\n");
else
AfxMessageBox("配置数据源失败!");
--------------------参数填的不对