资源简介
一个利用CVI通过ODBC访问数据库的完整例子,里面包含数据库,程序已调通,可对数据库进行查找,修改,添加和删除,适合想用CVI访问数据库的初学者学习参考

代码片段和文件信息
#include “cvi_db.h“
#include
#include
#include “db.h“
static int hstmt;
static int hmap;
static int hdbc;
static int i=1;
static int panelHandle;
void setindicator(void);
void sethot(void);
void setclear(void);
int setmainkey(void);
void setmode(int cmdfirstint cmdprevint cmdnextint cmdlastint cmdaddint cmddelint cmdmodifyint cmdfind);
int main (int argc char *argv[])
{
if (InitCVIRTE (0 argv 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0 “db.uir“ PANEL)) < 0)
return -1;
hdbc=DBConnect(“DSN=student“); //建立连接
DisplayPanel (panelHandle);
first(panelHandlePANEL_CMD_FIRSTEVENT_COMMITNULL00); //将记录定位搭到第一条
setindicator(); // 设置输入框的模式
RunUserInterface ();
DiscardPanel (panelHandle);
DBDisconnect(hdbc); // 断开连接释放系统资源
return 0;
}
int CVICALLBACK first (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
long agestatus;
int agevalue;
long sexstatus;
char sexvalue[5];
long namestatus;
char namevalue[20];
long idstatus;
int idvalue;
switch (event)
{
case EVENT_COMMIT:
hmap=DBBeginMap(hdbc);
DBMapColumnToInt(hmap“ID“&idvalue&idstatus);
DBMapColumnToChar(hmap“NAME“20namevalue&namestatus““);
DBMapColumnToChar(hmap“SEX“5sexvalue&sexstatus““);
DBMapColumnToInt(hmap“AGE“&agevalue&agestatus);
hstmt=DBActivateMap(hmap“std“);
while(DBFetchNext(hstmt)!=DB_EOF)
{
if(i)
break;
}
SetCtrlVal(panelHandlePANEL_NUMERIC_IDidvalue);
SetCtrlVal(panelHandlePANEL_STRING_NAMEnamevalue);
SetCtrlVal(panelHandlePANEL_STRING_SEXsexvalue);
SetCtrlVal(panelHandlePANEL_NUMERIC_AGEagevalue);
DBDeactivateMap(hmap);
i=1; //设置指针数为1
break;
}
return 0;
}
int CVICALLBACK prev (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
long agestatus;
int agevalue;
long sexstatus;
char sexvalue[5];
long namestatus;
char namevalue[20];
long idstatus;
int idvalue;
int j=0;
switch (event)
{
case EVENT_COMMIT:
hmap=DBBeginMap(hdbc);
DBMapColumnToInt(hmap“ID“&idvalue&idstatus);
DBMapColumnToChar(hmap“NAME“20namevalue&namestatus““);
DBMapColumnToChar(hmap“SEX“5sexvalue&sexstatus““);
DBMapColumnToInt(hmap“AGE“&agevalue&agestatus);
hstmt=DBActivateMap(hmap“std“);
i--;
if(i<=0)
i=1;
while(DBFetchNext(hstmt)!=DB_EOF)
{
j++;
if((i-j==0))
break;
}
SetCtrlVal(panelHandlePANEL_NUMERIC_IDidvalue);
SetCtrlVal(panelHandlePANEL_STRING_NAMEnamevalue);
SetCtrlVal(panelHandlePANEL_STRING_SEXsexvalue);
SetCtrlVal(panelHandlePANEL_NUMERIC_AGEagevalue);
DBDeactivateMap(hmap);
break;
}
return 0;
}
int CVICALLBACK next (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
int numberofrecords;
int hs
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5580 2010-09-03 17:08 CVISQL\cvibuild.db\build.ini
文件 1945742 2010-09-03 17:04 CVISQL\cvibuild.db\db.nidobj
文件 4 2010-09-03 17:04 CVISQL\cvibuild.db\dependencies.bri
文件 5012 2010-09-03 17:04 CVISQL\cvibuild.db\resources.res
文件 12888 2010-09-03 17:04 CVISQL\db.c
文件 3123 2010-09-03 17:04 CVISQL\db.cws
文件 2800 2010-09-03 14:51 CVISQL\db.h
文件 4085 2010-09-02 17:21 CVISQL\db.prj
文件 5828 2010-09-03 14:51 CVISQL\db.uir
文件 2622468 2010-09-03 17:04 CVISQL\db_dbg.cdb
文件 322560 2010-09-03 17:04 CVISQL\db_dbg.exe
文件 151552 2010-09-03 17:08 CVISQL\std.mdb
目录 0 2010-09-03 17:08 CVISQL\cvibuild.db
目录 0 2010-09-03 17:08 CVISQL
----------- --------- ---------- ----- ----
5081642 14
- 上一篇:STM32F4测频率、占空比工程
- 下一篇:64位GDI泄露检测工具
相关资源
- MoNyog8.5+破解补丁
- 全国4级地址库,京东数据
- B/S 网上订餐系统
- 房屋信息咨询网动态网页
- CVI下的TCP服务器和客户端
- 加班网上管理 单位
- php程序实现数据库的增删改查
- 302 Found
- postgresql驱动jar包
- Labwindows/CVI下Excel打开、读写操作
- 网上购物商城系统完整版
- Navicat 完整版 (Mac 破解版,亲试成功
- 2018年最新 统计用全国行政区划数据库
- 新闻管理系统前台和后台
- 数据库大量数据导出Excel
- 安卓期末项目--记账本app.zip
- 基于MVC的网上书城系统
- 数据库原理及应用教程(第四版|微课
- 餐饮管理系统数据库课程设计
- 基于深度学习的图像超分辨率算法论
- Qt 多线程连接数据库——数据库
- AUSPLINE 插值程序 arcview插件
- 啊D注入工具_V2.32
- springmvc_2020.rar
- 学生成绩管理系统带数据库
- 图书管理系统 2020.6.15.rar
- 数据库原理与应用课程实验指导书(
- JDBC连接实现简单学生管理系统附数据
- 网页版聊天程序--网络程序设计课程大
-
Geekli
nk极客设备运维系统
评论
共有 条评论