virtual
bool
open
(
lpctstr
lpszdsn,
bool
bexclusive
=
false,
bool
breadonly
=
false,
lpctstr
lpszconnect
=
“odbc”,
bool
busecursorlib
=
true
)
throw(
cdbexception,
cmemoryexception
)
参数含义:
lpszdsn指定了数据源名,在lpszconnect参数中也可包括数据源名,此时lpszdsn必需为null,若在函数中未提供数据源名且使lpszdsn为null,则会显示一个数据源对话框,用户可以在该对话框中选择一个数据源.
bexclusive说明是否独占数据源,由于目前版本的类库还不支持独占方式,故该参数的值应该是false,这说明数据源是被共享的.
breadonly若为true则对数据源的连接是只读的.
lpszconnect指定了一个连接字符串,连接字符串中可以包括数据源名、用户帐号(id)和口令等信息,字符串中的"odbc"表示要连接到一个odbc数据源上.
busecursorlib若为true,则会装载光标库,否则不装载,快照需要光标库,动态集不需要光标库.
参考代码:
#include
"afxdb.h"
cdatabase
database
cstring
sdriver
=
"microsoft
access
driver
(*.mdb)"
cstring
sdsn
cstring
sfile
=
"c://works//readdb//test.mdb"//change
path
here
//
create
odbc
connection
dinamically
sdsn.format("odbcdriver={%s}dsn=''dbq=%s",sdriver,sfile)
//
open
the
database
database.open(null,false,false,sdsn)
excel单元格显示数据库中查询内容解决方法:打开要查找的表格,选择要查找的范围,显示加深颜色。1、选择菜单栏上面的排序和筛选,在下拉选项里选择筛选。
2、第一行的标题旁边都有个下拉小箭头,点击按钮。
3、在d出的对话框中选择相应的功能即可查询内容。
1.假设你的窗口是模态窗口你的方法有很大问题
按下KEY,显示对话框
那么主线程就执行到子对话框中的代码
你的所谓"KEY回调函数"被阻塞
等子对话框终止后
"KEY回调函数"才恢复执行
那个时候对话框都没有了
做什么也没有效果了
在"KEY回调函数"内子对话框窗口类中的个变量还是有效的
但是子对话框中的子控件"List"已经销毁了
解决办法:
在子对话框的OnInitDialog函数中初始化你的List
而非在"KEY回调函数"中
2.如果是非模态对话框
那么"KEY回调函数"不会阻塞
你可以设置List内容
但是必须经过动态创建对话框类的实例并且调用Create创建对话框
如果这些没有做
那么仍旧是访问异常
3.DoDataExchange用于控件和某数据成员间建立一种隐射关系
不应该将它作为初始化函数使用
初始化一般数据可以使用构造函数
初始化子窗口可以使用OnInitDialog
4.关于ListCtrl
Dlg1.m_List.InsertItem(0,"行")//插入行
Dlg1.m_List.SetItemText(0,1,"列")//插入列
在SetItemText之前
请务必使用InsertColumn函数插入一列
不然你想插入的那一列根本不存在
或许也是一个访问异常的原因(我不确定会否异常,但这样做是不对的)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)