以前的博客记录了使用vbs脚本判断数据库下是否有某个数据表的方法,今天测试了使用c脚本实现同样的功能。在按钮的点击事件中添加以下c脚本,判断数据库MyDB下面是不是有数据表Mytable:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
__object *cn, *rs;
char *connstr="Provider = SQLOLEDB.1;password = sa;user id = sa;Initial Catalog =MyDB;Data Source=ES\\wincc";
char *sql="select * from SYSOBJECTS where xtype='U' AND name='Mytable'";
cn=__object_create("ADODB.Connection");
rs=__object_create("ADODB.RecordSet");
cn->open(connstr);
if (cn->State == 0)// 为0表示连接数据库不成功
MessageBox(NULL,"连接数据库失败!","警告",MB_OK);
else
{
rs->Open(sql,cn,1,3);
if (rs->RecordCount()>0)
{
MessageBox(NULL,"数据表Mytable存在!","注意",MB_OK);
rs->Close;
}
else
{
MessageBox(NULL,"数据表Mytable不存在!","注意",MB_OK);
rs->Close;
}
}
if(cn->State != 0)
cn->Close;
}