/*andmebaasiga seotud funktsioonid*/
package punktid;
import punktid.*;
import java.sql.*;
import java.util.*;
import java.io.Serializable;
public class Baas implements Serializable{
Connection cn;
Statement st;
String uname="";
public Baas(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
cn=DriverManager.getConnection("jdbc:mysql:/localhost/punktid", "root", "*******");
st=cn.createStatement();
}catch(Exception e){
System.out.println(e);
}
}
/*funktsioon punkti lisamiseks (samal ajal loetakse ka mitu punkti ykski kasutaja on lisanud)*/
public void lisaPunkt(String nimi,String kirjeldus, int x, int y, String lisaja)throws SQLException{
String lause="insert into punktid (nimi,kirjeldus,x,y) values ('"+nimi+"','"+kirjeldus+"',"+x+","+y+");";
st.executeUpdate(lause);
lause = "select * from kasutajad where username='"+lisaja+"';";
ResultSet rs=st.executeQuery(lause);
if (rs.next()){
st.executeUpdate("update kasutajad set count=count+1 where username='"+lisaja+"';");
}else{
st.executeUpdate("insert into kasutajad (username) values('"+lisaja+"');");
}
}
/*tagastab top 10 lisajate tabeli */
public String top10() throws SQLException{
String sReturn = "
Kasutaja | Punkte |
";
String lause = "select * from kasutajad order by count desc;";
ResultSet rs = st.executeQuery(lause);
for(int i=0; i<10; i++){
if (rs.next()){
sReturn = sReturn + ""+rs.getString("username")+" | "+rs.getInt("count")+" |
";
}
}
sReturn = sReturn + "
";
return sReturn;
}
/* lisab kommentaari punkti kohta */
public void lisaKommentaar(int punkti_id, String kommentaar, String lisaja)throws SQLException{
String lause="insert into kommentaarid (punkti_id,kommentaar,lisaja) values ("+punkti_id+",'"+kommentaar+"','"+lisaja+"');";
st.executeUpdate(lause);
}
/*näitab lisatud punkte tabeli kujul*/
public String punktidTabelisse()throws SQLException{
String tabel="";
String lause="SELECT * FROM punktid;";
ResultSet rs=st.executeQuery(lause);
tabel=tabel+("Punktid |
Nimi | Kirjeldus | |
");
while(rs.next()){
tabel=tabel+(""+rs.getString("nimi")+" | "+rs.getString("kirjeldus")+" | Vaata |
");
}
tabel=tabel+("
");
return tabel;
}
/*esitab mobiilile punkte kirjelduse ja koordinaadiga kirjed eraldatakse ";" abil ja kirje osad ":" abil */
public String mobiil() throws SQLException{
String sReturn = "";
String lause = "select * from punktid;";
ResultSet rs = st.executeQuery(lause);
while (rs.next()){
sReturn = sReturn+rs.getString("nimi")+":"+rs.getString("kirjeldus")+":"+rs.getInt("x")+":"+rs.getInt("y")+":;";
}
return sReturn;
}
/* esitab konkreetse punkti kohta nime kirjeldust koordinaate asukohta kaardil ja lisatud kommentaare*/
public String punkt(int id)throws SQLException{
String tabel="";
String lause="SELECT * FROM punktid where id="+id+";";
ResultSet rs=st.executeQuery(lause);
tabel=tabel+("Nimi | Kirjeldus | X | Y |
");
while(rs.next()){
tabel=tabel+(""+rs.getString("nimi")+" | "+rs.getString("kirjeldus")+" | "+rs.getInt("X")+" | "+rs.getInt("Y")+" |
");
}
tabel=tabel+(" |
");
lause="SELECT lisaja,kommentaar FROM kommentaarid where punkti_id="+id+";";
rs=st.executeQuery(lause);
while (rs.next()){
tabel=tabel+(""+rs.getString("lisaja")+" | "+rs.getString("kommentaar")+" |
");
}
tabel=tabel+("
");
return tabel;
}
/* esitab kogu baasi yhe vektori kujul XML-i kirjutajale*/
public Vector baasiSisu () throws SQLException {
Vector vReturn = new Vector();
Vector kasutajad = new Vector();
Vector kommentaarid = new Vector();
Vector punktid = new Vector();
String lause;
ResultSet rs;
vReturn.addElement(kasutajad);
vReturn.addElement(kommentaarid);
vReturn.addElement(punktid);
lause = "Select * from kasutajad;";
rs = st.executeQuery(lause);
while (rs.next()){
String[] kirje =new String[3];
kirje[0] = Integer.toString(rs.getInt("id"));
kirje[1] = rs.getString("username");
kirje[2] = Integer.toString(rs.getInt("count"));
kasutajad.addElement(kirje);
}
lause = "Select * from kommentaarid;";
rs = st.executeQuery(lause);
while (rs.next()){
String[] kirje =new String[4];
kirje[0] = Integer.toString(rs.getInt("id"));
kirje[1] = Integer.toString(rs.getInt("punkti_id"));
kirje[2] = rs.getString("kommentaar");
kirje[3] = rs.getString("lisaja");
kommentaarid.addElement(kirje);
}
lause = "Select * from punktid;";
rs = st.executeQuery(lause);
while (rs.next()){
String[] kirje =new String[5];
kirje[0] = Integer.toString(rs.getInt("id"));
kirje[1] = rs.getString("nimi");
kirje[2] = rs.getString("kirjeldus");
kirje[3] = Integer.toString(rs.getInt("x"));
kirje[4] = Integer.toString(rs.getInt("y"));
punktid.addElement(kirje);
}
return vReturn;
}
}