vc ADO
首先下载了一个ADO的类库
http://www.codeproject.com/KB/database/caaadoclass1.aspx#OpenRecordset
这个类库看起来不错,今天就学习一下。
先重复一下他那个例子
1引用文件ado2.cpp ado2.h然后修改引用项为:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "EndOfFile")
#import "C:\Program Files\Common Files\System\ado\MSJRO.DLL" no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum")
// #import <msado15.dll> rename("EOF", "EndOfFile")
// #import <MSJRO.DLL> no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum")
编译,出现一个错误
fatal error C1010: unexpected end of file while looking for precompiled header directive
这个错误很经典,是别人的c++文件我们引用之后出现的,网上搜索解决办法……
找到二个:
1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。
2、在文件开头添加:
#include "stdafx.h"
这里staafx.h是预编译头文件,所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。 (所以呀,这个预编译文件stdafx.h就不要放到.h里面了)
很困了,但是咬咬牙,把今天看见的记下来吧
一个是函数
str="0xEB90";
int n = strtoul(str, NULL, 16);
另一个是如果调节radiobutton
这个主要是注意要把tab设置正确(ctrl+D),并且要为第一个设置group
再一个如何加GSL
所谓GSL是GNU的数学库,看起来挺好使的。
vc6.0的添加方法,
1安装一个gsl-1.8.exe,这是为了以后文档读起来方便
2把WinGsl-Lib-1.4.02这个文件夹下面的东西拷贝到vc对应目录(gsl对应include; bin里面拷贝动态链接库到vc的bin;lib也直接拷贝到lib),尤其要注意把WinGslDLL.inl拷贝到D:\Program Files\Microsoft Visual Studio\VC98目录下。
3根据情况设置目录路径,并引用该引用的lib到模块组。
下面整了两句
double x = 5.0;
double y = gsl_sf_bessel_J0(x);
double z=gsl_pow_2(x);
gsl_block * b = gsl_block_alloc (100);
TRACE ("length of block = %u\n", b->size);
TRACE ("block data address = %#x\n", b->data);
gsl_block_free (b);
int i, j;
gsl_matrix * m = gsl_matrix_alloc (2, 2);
gsl_matrix * bbb =gsl_matrix_alloc(2,2);
gsl_matrix_set (m, 0, 0, 1);
gsl_matrix_set (m, 0, 1, 0);
gsl_matrix_set (m, 1, 0, 0);
gsl_matrix_set (m, 1, 1, 1);
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
TRACE ("m(%d,%d) is = %g\n", i, j,gsl_matrix_get (m, i, j));
再复杂的以后再说吧。
让人恶心的
数据提供程序或其他服务返回E_FAIL状态
其实都是自己错了才会出现这种状态。不要想是IDE或sql错了,告诉你,表写错了。