VC中怎么实现把一张数据表的记录实时发布到另外一张表使用程序实现,两张表在同一数据库中。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC中怎么实现把一张数据表的记录实时发布到另外一张表使用程序实现,两张表在同一数据库中。相关的知识,希望对你有一定的参考价值。
例如我想把a表生成的记录添加到b表当中??如果有什么资料或者方法的话,还请共享下
strSQL.Format("select* from A where aNumber=%d
ORDER BY girlStyleNo ASC", operation.No);
//从A表中选出m_aNumber和operation.No一致的所有条目,按照girlStyleNo 排序
aTab.Open( CRecordset::dynaset, strSQL,CRecordset::noDirtyFieldCheck );
aTab.MoveFirst();
while(!aTab.IsEOF())
aTab.Edit();
aTabe.m_sarRLU=CString("%d",operation.result[ aTab.m_girlStyleNo ]);
aTab.Update();
aTab.MoveNext();
//将A表记录同布到b表
aTab.Close();
该怎么写啊
us.Open(AFX_DB_USE_DEFAULT_TYPE);
us.AddNew();
us.m_Num = table.m_ReaID;
us.m_a = table.m_Exception;
us.m_b = table.m_NoB;
us.m_c = table.m_sam;
us.Update();
us.Close(); 参考技术A 初始化两个listctrl控件:
dwStyle = ::GetWindowLong(m_WhlsListCtrl.m_hWnd, GWL_STYLE);
dwStyle|=LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS;
::SetWindowLong(m_WhlsListCtrl.m_hWnd, GWL_STYLE, dwStyle);
dwStyle = m_WhlsListCtrl.GetExtendedStyle();
dwStyle |= LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT;
m_WhlsListCtrl.SetExtendedStyle(dwStyle);
m_WhlsListCtrl.InsertColumn(0, " 位置", LVCFMT_CENTER,70,0);
m_WhlsListCtrl.InsertColumn(1, "砂轮形状", LVCFMT_CENTER,80,1);
m_WhlsListCtrl.InsertColumn(2, "砂轮参数", LVCFMT_CENTER,130,2);
m_WhlsListCtrl.InsertColumn(3, "安装距离", LVCFMT_CENTER,80,3);
m_WhlsListCtrl.InsertColumn(4, "安装方向", LVCFMT_CENTER,80,4);
m_WhlsListCtrl.InsertColumn(5, "△D", LVCFMT_CENTER,80,5);
m_WhlsListCtrl.InsertColumn(6, "△T", LVCFMT_CENTER,80,6);
m_WhlsListCtrl.InsertColumn(7, "圆角R", LVCFMT_CENTER,80,7);
dwStyle = ::GetWindowLong(m_WhlAsmListCtrl.m_hWnd, GWL_STYLE);
dwStyle|=LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS;
::SetWindowLong(m_WhlAsmListCtrl.m_hWnd, GWL_STYLE, dwStyle);
dwStyle = m_WhlAsmListCtrl.GetExtendedStyle();
dwStyle |= LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT;
m_WhlAsmListCtrl.SetExtendedStyle(dwStyle);
m_WhlAsmListCtrl.InsertColumn(0, "序号", LVCFMT_CENTER,45,0);
m_WhlAsmListCtrl.InsertColumn(1, "砂轮组描述", LVCFMT_CENTER,110,1);
m_WhlAsmListCtrl.InsertColumn(2, "工艺描述", LVCFMT_CENTER,140,2);
m_WhlAsmListCtrl.InsertColumn(3, "适用刀具", LVCFMT_CENTER,145,3);
//获取ACCESSS数据库所在路径
CString gstrWorkDir;
char path[255];
GetCurrentDirectory(254, path);
gstrWorkDir = path;
m_WhlAsmListCtrl.DeleteAllItems();
从数据库中读取信息,一部分显示在listctrl控件上:
CString strMdb;
strMdb.Format("%s\\SysData\\ToolDB.mdb", gstrWorkDir);
if(m_Mdb.ReadMdbTable(strMdb, "AsmWhlsTable") == TRUE)
int iItem = 0;
for(int i=0; i<m_Mdb.m_nRecNum; i++)
CStrs rec = m_Mdb.m_ArrRec[i];
iItem = m_WhlAsmListCtrl.InsertItem(0xffff, rec[0], 0);
m_WhlAsmListCtrl.SetItem(iItem, 1, 1, rec[1], NULL,0,0,0);
m_WhlAsmListCtrl.SetItem(iItem, 2, 1, rec[2], NULL,0,0,0);
m_WhlAsmListCtrl.SetItem(iItem, 3, 1, rec[3], NULL,0,0,0);
另一部分信息,显示在另一个listctrl控件上
if( idx > m_Mdb.m_nRecNum -1 || idx < 0)
// 砂轮1
m_WhlsListCtrl.SetItem(iItem, 1, 1, "", NULL, 0, 0, 0); // 砂轮形状
m_WhlsListCtrl.SetItem(iItem, 2, 1, "", NULL,0,0,0);// 砂轮参数
m_WhlsListCtrl.SetItem(iItem, 3, 1, "", NULL,0,0,0);
m_WhlsListCtrl.SetItem(iItem, 4, 1, "", NULL,0,0,0);
m_WhlsListCtrl.SetItem(iItem, 5, 1, "", NULL,0,0,0);
m_WhlsListCtrl.SetItem(iItem, 6, 1, "", NULL,0,0,0);
m_WhlsListCtrl.SetItem(iItem, 7, 1, "", NULL,0,0,0);
UpdateData(FALSE);
return;
追问
你这个初始化,是在同一界面下初始化,还是在不同的界面初始化。因为a表的list是个自定义类
追答listctrl控件在哪个类中,就在哪类中初始化
追问A表是不显示在界面中的没有listControl存在,A表一旦有了数据就会直接向B表添加,B表会显示在lsit当中
参考技术B 写个timer实时去读表a或者创建镜像去检测是否有修改或者直接将读到的内容写入表B中追问可以帮我看下,接下来该怎么做吗
追答sql语句我不熟,但是按你这个逻辑你已经把主要的都写完了,剩下的只是把数据写到表B当中了,你需要的信息放在aTabe.m_sarRLU当中,你只有把这个写入指定位置就可以了
追问那个b表怎么操作?怎么把A表信息插入到B表中呢?我写不出来了,能帮我想想吗
MYSQL把一张表的数据批量复制到另外一张表
1. 表结构完全一样
insert into 表1
select * from 表2
2. 表结构不一样(这种情况下得指定列名)
insert into 表1 (列名1,列名2,列名3)
select 列1,列2,列3 from 表2
3.不同数据库,需要在表前面加数据库前缀,database.表名。
注意:以上测试过OK,sql语句不需要在insert后面加values。
以上是关于VC中怎么实现把一张数据表的记录实时发布到另外一张表使用程序实现,两张表在同一数据库中。的主要内容,如果未能解决你的问题,请参考以下文章