资源简介
一个利用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泄露检测工具
相关资源
- 网上书店系统数据库课程设计
- labwindows/cvi2015安装包
- msvcr120.dll 官方
- VC加油站管理系统源码
- LabWindows/CVI2010完整版文件
- 学籍数据库
- 与backupdbE.bat配合使用
- cvi2013安装包
- 基于RFID的门禁系统
- SSM完整框架
- vue仿拼多多教程
- SpringCloud Alibaba使用四 - seata分布式事
- 空闲自习室管理系统
- 旅游管理系统开题报告
- shopping online 购物系统论文演示ppt
- 人工智能算法
- 2021 年全年详细工作日、周末、节假日
- 研华AD数据采集卡PCI-1713 高速采集
- 数据结构实验-链式存储和顺序存储实
- 大学生就业信息网源码
- 毕业设计图书管理系统任务书 全
- labwindows/cvi 直方图
- 数据库课程设计完整版
- 数据库超强同步软件(绿色版)
- navicat premium 11.2.13 英文版 破解 100% 破
- 实盘赚钱趋势ea
- 最新美团商圈数据抓取
- 1z0-882_testquestion
- NCVIEW刀路查看器
- NCViewer V4.4.0(NC模拟器)
评论
共有 条评论