大学时候在linux下用c++的一个小测试,放这里备忘

2011-04-25

#include
#include <sys/param.h>
#include
#include
#include
#include
#include
#include
using namespace std; </p>

#define UID “sa”
#define PWD “”
#define PROGNAME “C1-8”
#define DBSERVER “10.10.36.11:1433”
#define DBNAME “ourwork”

LOGINREC *login;
DBPROCESS *dbconn;
char hostname[MAXHOSTNAMELEN];

DBCHAR CardID[5];
DBCHAR name[20];
DBCHAR works[8];
DBCHAR daytime[18];

char getchose()
{
char a=0;
while(a==0)cin>>a;
return a;
}

int pr(int i=0)
{
switch (i)
{
case 0:
cout<<“\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n”<<endl;
break;

case 1:
cout<<“■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■”;
cout<<“■ ■”;
cout<<“■ Red System ■”;
cout<<“■ ■”;
cout<<“■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■”;
cout<<“■ ■”;
cout<<“■ 1.Workers List ■”;
cout<<“■ ■”;
cout<<“■ 2.Add Workers ■”;
cout<<“■ ■”;
cout<<“■ 3.Delete Workers ■”;
cout<<“■ ■”;
cout<<“■ 4.Find Workers ■”;
cout<<“■ ■”;
cout<<“■ other will exit ■”;
cout<<“■ ■”;
cout<<“■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■”;
cout<<“■ Made By xcl& zr 2005@Copy Right ■”;
cout<<“■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■”;
break;

case 2:
cout<<“☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆”;
cout<<“☆ ☆”;
cout<<“☆ Worker List Menu ☆”;
cout<<“☆ ☆”;
cout<<“☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n”;
break;

case 3:
cout<<“□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□”;
cout<<“□ □”;
cout<<“□ Add Workers □”;
cout<<“□ □”;
cout<<“□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□\n”;

break;

case 4:
cout<<“★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★”;
cout<<“★ ★”;
cout<<“★ Delete Workers ★”;
cout<<“★ ★”;
cout<<“★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n”;
break;

case 5:
cout<<“◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆”;
cout<<“◆ ◆”;
cout<<“◆ Find Workers ◆”;
cout<<“◆ ◆”;
cout<<“◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n”;
break;

case 7:
cout<<“ΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘ”;
cout<<“Θ Θ”;
cout<<“Θ ~^_^~Thank Your Bye Bye~^_^~Θ”;
cout<<“Θ Θ”;
cout<<“ΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘΘ\n”;
break;

}
return 0;
}

void init()
{

if (dbinit() == FAIL)
cout<<endl<<stderr<<“Couldnot initdb.\n”<<endl;

if ((login = dblogin()) == FAIL)
cout<<endl<<stderr<<“Couldnot initialize dblogin()structure.\n”<<endl;

DBSETLUSER(login, UID);
DBSETLPWD(login, PWD);
DBSETLAPP(login, PROGNAME);
if (gethostname(hostname, MAXHOSTNAMELEN) == 0)
DBSETLHOST(login, hostname);

if ((dbconn = dbopen(login, DBSERVER)) ==NULL)
cout<<endl<<stderr<<endl<<“Couldnot connect to DB Server:%s\n”<<endl<<DBSERVER;

if ((dbuse(dbconn, DBNAME)) == FAIL)
cout<<endl<<stderr<<“Couldnot switch to database %s on DB Server%s\n”<<DBNAME<<DBSERVER<<endl;

dbloginfree(login);

//////////////////////////////

}

void setsql()
{

dbcmd(dbconn, “select * from worker “);

if (dbsqlexec(dbconn) == FAIL)
{
cout<<endl<<stderr<<“Couldnot execute the sqlstatement~~~~”<<endl;

}

dbresults(dbconn);
}

void bindfield()
{

dbbind(dbconn, 2, NTBSTRINGBIND, 0, (BYTE*)&name);
dbbind(dbconn, 3, NTBSTRINGBIND, 0, (BYTE*)&works);
dbbind(dbconn, 4, NTBSTRINGBIND, 0, (BYTE*)&CardID);
//dbbind(dbconn, 5, NTBSTRINGBIND, 0, (BYTE*)&daytime);

}

void showall()
{

while (dbnextrow(dbconn) != NO_MORE_ROWS)
{

cout<<setw(20)<<name<<setw(10)<<works<<setw(7)<<CardID<<endl;
}
dbresults(dbconn);
}

void clearsql()
{
dbfreebuf(dbconn);

}
void close()
{<br / >dbclose(dbconn);
dbexit();

}

main()
{
init();
char cho;
pr(0);
pr(1);
cho =getchose();
if (cho==’1′)
{
pr(0);
pr(2);
setsql();
bindfield();
showall();
}

if(cho==’2′)
{
char tname[20];
char tCardID[5];
char tworks[8];
char tempsql[90];
pr(0);
pr(3);
cout<<“entername”<<endl;
cin>>tname;
cout<<“enterCardID”<<endl;
cin>>tCardID;
cout<<“enterworks”<<endl;
cin>>tworks;
sprintf(tempsql,”insert worker(name,works,cardid)values(‘%s’,’%s’,’%s’)”,tname,tworks,tCardID);
clearsql();
dbcmd(dbconn, tempsql);

if (dbsqlexec(dbconn) == FAIL)
{
cout<<endl<<stderr<<“Couldnot execute the sqlstatement”<<endl;

}

dbresults(dbconn);
}

if(cho==’3′)
{
pr(4);
char tcardid[30];
char tempsql[80];
cout<<“enter the worker’s cardid youwant to delete”<<endl;
cin>>tcardid;

sprintf(tempsql,”delete from worker where cardid =’%s'”,tcardid);
clearsql();
dbcmd(dbconn, tempsql);

if (dbsqlexec(dbconn) == FAIL)
{
cout<<endl<<stderr<<“Couldnot execute the sqlstatement”<<endl;
}
dbresults(dbconn);
}

if(cho==’4′)
{
pr(5);
char tcardid[30];
char tempsql[80];
cout<<“enter the worker’s cardid youwant to find”<<endl;
cin>>tcardid;

sprintf(tempsql,”select * from worker where cardid like’%%%s%%'”,tcardid);
clearsql();
dbcmd(dbconn, tempsql);

if (dbsqlexec(dbconn) == FAIL)
{
cout<<endl<<stderr<<“Couldnot execute the sqlstatement”<<endl;
}
dbresults(dbconn);

bindfield();
showall();

}

pr(7);
clearsql();
close();
cout<<“ok”<<endl;
}

cd ~ vi .bash_profile 环境: 输入 LD_LIBRARY_PATH=/usr/local/lib LD=/usr/local/lib export LD_LIBRARY_PATH 退出vi 执行exportLD_LIBRARY_PATH=/usr/local/lib 编译命令使用 g++ -lsybdb sample.cpp 运行./a.out