Google
Web alhem.net
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

db::Linkitemtag Class Reference

#include <libfd.h>

List of all members.

Public Member Functions

 Linkitemtag (Database *)
 Linkitemtag (Database *, const std::string &)
 Linkitemtag (Database *, Query *, int=0)
 Linkitemtag (Database &, long item, long tag)
 ~Linkitemtag ()
my_ulonglong insert ()
void update ()
void save ()
void erase ()
std::string xml ()
std::string xml (const std::string &, const std::string &)
size_t num_cols ()

Public Attributes

long item
long tag

Private Member Functions

void clear ()
void spawn (const std::string &)
void spawn (Query *, int=0)
void select (const std::string &)
void update (long item, long tag)

Private Attributes

Database * database
short new_object


Constructor & Destructor Documentation

db::Linkitemtag::Linkitemtag Database *  db  ) 
 

Begin class 'Linkitemtag'

Definition at line 561 of file libfd.cpp.

References clear(), database, and new_object.

00562 { 00563 database = db; 00564 new_object = 1; 00565 clear(); 00566 }

db::Linkitemtag::Linkitemtag Database *  ,
const std::string & 
 

Definition at line 569 of file libfd.cpp.

References database, new_object, and spawn().

00570 { 00571 database = db; 00572 new_object = 1; 00573 spawn(sql); 00574 }

db::Linkitemtag::Linkitemtag Database *  ,
Query *  ,
int  = 0
 

Definition at line 577 of file libfd.cpp.

References database, new_object, and spawn().

00578 { 00579 database = db; 00580 new_object = 0; 00581 spawn(qd, offset); 00582 }

db::Linkitemtag::Linkitemtag Database &  ,
long  item,
long  tag
 

Definition at line 585 of file libfd.cpp.

References database, and spawn().

00585 :database(&db),new_object(1) 00586 { 00587 Query q(*database); 00588 std::string sql = "select * from linkitemtag where "; 00589 { 00590 char slask[100]; 00591 sprintf(slask,"item='%ld'",i_item); 00592 sql += slask; 00593 } 00594 { 00595 char slask[100]; 00596 sprintf(slask," and tag='%ld'",i_tag); 00597 sql += slask; 00598 } 00599 spawn(sql); 00600 }

db::Linkitemtag::~Linkitemtag  ) 
 

Definition at line 603 of file libfd.cpp.

00604 { 00605 }


Member Function Documentation

void db::Linkitemtag::clear  )  [private]
 

Definition at line 739 of file libfd.cpp.

References item, and tag.

Referenced by Linkitemtag(), and spawn().

00740 { 00741 item = 0; 00742 tag = 0; 00743 }

void db::Linkitemtag::erase  ) 
 

Definition at line 682 of file libfd.cpp.

References database, item, new_object, and tag.

00683 { 00684 if (!new_object) 00685 { 00686 std::string sql = "delete from linkitemtag where"; 00687 Query q(*database); 00688 { 00689 char slask[200]; 00690 sprintf(slask," item='%ld'",this -> item); 00691 sql += slask; 00692 } 00693 { 00694 char slask[200]; 00695 sprintf(slask," and tag='%ld'",this -> tag); 00696 sql += slask; 00697 } 00698 q.execute(sql); 00699 } 00700 }

my_ulonglong db::Linkitemtag::insert  ) 
 

Definition at line 614 of file libfd.cpp.

References database, item, new_object, and tag.

Referenced by save().

00615 { 00616 Query q(*database); 00617 std::string sql; 00618 00619 sql = "insert into linkitemtag(item,tag)"; 00620 { 00621 char slask[100]; 00622 sprintf(slask," values(%ld",this -> item); 00623 sql += slask; 00624 } 00625 { 00626 char slask[100]; 00627 sprintf(slask,", %ld",this -> tag); 00628 sql += slask; 00629 } 00630 sql += ")"; 00631 q.execute(sql); 00632 new_object = 0; 00633 my_ulonglong inserted_id = q.insert_id(); 00634 item = inserted_id; 00635 return inserted_id; 00636 }

size_t db::Linkitemtag::num_cols  ) 
 

Definition at line 733 of file libfd.cpp.

00734 { 00735 return 2; 00736 }

void db::Linkitemtag::save  ) 
 

Definition at line 673 of file libfd.cpp.

References insert(), new_object, and update().

Referenced by form_input(), and MyMinionSocket::OnVerifiedLine().

00674 { 00675 if (new_object) 00676 insert(); 00677 else 00678 update(); 00679 }

void db::Linkitemtag::select const std::string &   )  [private]
 

Definition at line 608 of file libfd.cpp.

References spawn().

00609 { 00610 spawn(sql); 00611 }

void db::Linkitemtag::spawn Query *  ,
int  = 0
[private]
 

Definition at line 770 of file libfd.cpp.

References clear(), item, and tag.

00771 { 00772 clear(); 00773 00774 item = qd -> getval(0 + offset); // 0 - item int(11) 00775 tag = qd -> getval(1 + offset); // 1 - tag int(11) 00776 }

void db::Linkitemtag::spawn const std::string &   )  [private]
 

Definition at line 746 of file libfd.cpp.

References clear(), database, item, new_object, and tag.

Referenced by Linkitemtag(), and select().

00747 { 00748 Query q(*database); 00749 std::string temp; 00750 00751 clear(); 00752 00753 if (!strncasecmp(sql.c_str(),"select * ",9)) 00754 { 00755 temp = "select item,tag " + sql.substr(9); 00756 } else 00757 temp = sql; 00758 q.get_result(temp); 00759 if (q.fetch_row()) 00760 { 00761 item = q.getval(0); // 0 - item int(11) 00762 tag = q.getval(1); // 1 - tag int(11) 00763 new_object = 0; 00764 } else 00765 clear(); 00766 q.free_result(); 00767 }

void db::Linkitemtag::update long  item,
long  tag
[private]
 

Definition at line 645 of file libfd.cpp.

References database, item, and tag.

00646 { 00647 Query q(*database); 00648 std::string sql; 00649 { 00650 char slask[200]; 00651 sprintf(slask,"update linkitemtag set item=%ld",this -> item); 00652 sql += slask; 00653 } 00654 { 00655 char slask[200]; 00656 sprintf(slask,", tag=%ld",this -> tag); 00657 sql += slask; 00658 } 00659 { 00660 char slask[200]; 00661 sprintf(slask," where item='%ld'",i_item); 00662 sql += slask; 00663 } 00664 { 00665 char slask[200]; 00666 sprintf(slask," and tag='%ld'",i_tag); 00667 sql += slask; 00668 } 00669 q.execute(sql); 00670 }

void db::Linkitemtag::update  ) 
 

Definition at line 639 of file libfd.cpp.

References item, and tag.

Referenced by save().

00640 { 00641 update(this -> item,this -> tag); 00642 }

std::string db::Linkitemtag::xml const std::string &  ,
const std::string & 
 

Definition at line 718 of file libfd.cpp.

References database, and item.

00719 { 00720 Query q(*database); 00721 std::string dest; 00722 char slask[200]; 00723 dest = "<LINKITEMTAG " + tag + "=\"" + xvalx + "\">"; 00724 sprintf(slask,"<ITEM>%ld</ITEM>",this -> item); 00725 dest += slask; 00726 sprintf(slask,"<TAG>%ld</TAG>",this -> tag); 00727 dest += slask; 00728 dest += "</LINKITEMTAG>"; 00729 return dest; 00730 }

std::string db::Linkitemtag::xml  ) 
 

Definition at line 703 of file libfd.cpp.

References database, item, and tag.

00704 { 00705 Query q(*database); 00706 std::string dest; 00707 char slask[200]; 00708 dest = "<LINKITEMTAG>"; 00709 sprintf(slask,"<ITEM>%ld</ITEM>",this -> item); 00710 dest += slask; 00711 sprintf(slask,"<TAG>%ld</TAG>",this -> tag); 00712 dest += slask; 00713 dest += "</LINKITEMTAG>"; 00714 return dest; 00715 }


Member Data Documentation

Database* db::Linkitemtag::database [private]
 

Definition at line 163 of file libfd.h.

Referenced by erase(), insert(), Linkitemtag(), spawn(), update(), and xml().

long db::Linkitemtag::item
 

Definition at line 153 of file libfd.h.

Referenced by clear(), erase(), form_input(), insert(), MyMinionSocket::OnVerifiedLine(), spawn(), update(), and xml().

short db::Linkitemtag::new_object [private]
 

Definition at line 164 of file libfd.h.

Referenced by erase(), insert(), Linkitemtag(), save(), and spawn().

long db::Linkitemtag::tag
 

Definition at line 154 of file libfd.h.

Referenced by clear(), erase(), form_input(), insert(), MyMinionSocket::OnVerifiedLine(), search(), spawn(), update(), and xml().


The documentation for this class was generated from the following files:
Generated on Thu Feb 10 22:42:41 2005 for Distributed URL Classification Tool by doxygen 1.3.7