#include <unistd.h>
#include <sys/param.h>
#include <sybfront.h>
#include <sybdb.h>
#include <syberror.h>
#include <stdio.h>
#include <iostream>
#include <iomanip>
using namespace std;
#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<<"Could
not init
db.\n"<<endl;
if ((login = dblogin()) == FAIL)
cout<<endl<<stderr<<"Could
not 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<<"Could
not connect to DB Server:
%s\n"<<endl<<DBSERVER;
if ((dbuse(dbconn, DBNAME)) == FAIL)
cout<<endl<<stderr<<"Could
not 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<<"Could
not execute the sql
statement~~~~"<<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()
{
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<<"enter
name"<<endl;
cin>>tname;
cout<<"enter
CardID"<<endl;
cin>>tCardID;
cout<<"enter
works"<<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<<"Could
not execute the sql
statement"<<endl;
}
dbresults(dbconn);
}
if(cho=='3')
{
pr(4);
char tcardid[30];
char tempsql[80];
cout<<"enter the worker's cardid you
want 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<<"Could
not execute the sql
statement"<<endl;
}
dbresults(dbconn);
}
if(cho=='4')
{
pr(5);
char tcardid[30];
char tempsql[80];
cout<<"enter the worker's cardid you
want 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<<"Could
not execute the sql
statement"<<endl;
}
dbresults(dbconn);
bindfield();
showall();
}
pr(7);
clearsql();
close();
cout<<"ok"<<endl;
}
大学时候在linux下用c++的一个小测…
