[chronojump] putting decimals in person and personSessionWeight (height and weight). DB: 0.75 Tests remain.



commit eaae4448fa0f16ed140aff63978481ad9bd23693
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Feb 23 00:05:29 2010 +0800

    putting decimals in person and personSessionWeight (height and weight). DB: 0.75 Tests remain.

 Makefile.win32                              |    1 +
 chronojump_server/ChronojumpServer.cs       |   39 ++++++------
 chronojump_server/Makefile.am               |    1 +
 chronojump_server/bin/chronojumpServer.dll  |  Bin 273920 -> 275456 bytes
 chronojump_server/chronojumpServerCSharp.cs |    6 +-
 chronojump_server/howto_compile.txt         |    1 +
 chronojump_server/howto_server_2009.txt     |    4 +-
 configure.ac                                |    2 +-
 glade/chronojump.glade                      |    6 +-
 src/Makefile.am                             |    1 +
 src/gui/convertWeight.cs                    |   30 +++++-----
 src/gui/person.cs                           |   60 ++++++++++--------
 src/person.cs                               |   18 +++---
 src/personSession.cs                        |   90 +++++++++++++++++++++++++++
 src/server.cs                               |    2 +-
 src/sqlite/jump.cs                          |    4 +-
 src/sqlite/main.cs                          |   56 ++++++++++++++---
 src/sqlite/person.cs                        |   12 ++--
 src/sqlite/personSession.cs                 |   57 ++++++++++++-----
 19 files changed, 278 insertions(+), 112 deletions(-)
---
diff --git a/Makefile.win32 b/Makefile.win32
index 1d294c7..83f75db 100644
--- a/Makefile.win32
+++ b/Makefile.win32
@@ -111,6 +111,7 @@ CHRONOJUMP_FILES = \
 	AssemblyInfo.cs\
 	chronojump.cs\
  	person.cs\
+ 	personSession.cs\
  	event.cs\
  	eventType.cs\
  	jump.cs\
diff --git a/chronojump_server/ChronojumpServer.cs b/chronojump_server/ChronojumpServer.cs
index 62acafa..17494a1 100644
--- a/chronojump_server/ChronojumpServer.cs
+++ b/chronojump_server/ChronojumpServer.cs
@@ -26,10 +26,10 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
     
     private System.Threading.SendOrPostCallback DisConnectDatabaseOperationCompleted;
     
-    private System.Threading.SendOrPostCallback CanIOperationCompleted;
-    
     private System.Threading.SendOrPostCallback CanINewOperationCompleted;
     
+    private System.Threading.SendOrPostCallback CanIOperationCompleted;
+    
     private System.Threading.SendOrPostCallback QueryOperationCompleted;
     
     private System.Threading.SendOrPostCallback StatsOperationCompleted;
@@ -82,10 +82,10 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
     
     private event DisConnectDatabaseCompletedEventHandler DisConnectDatabaseCompleted;
     
-    private event CanICompletedEventHandler CanICompleted;
-    
     private event CanINewCompletedEventHandler CanINewCompleted;
     
+    private event CanICompletedEventHandler CanICompleted;
+    
     private event QueryCompletedEventHandler QueryCompleted;
     
     private event StatsCompletedEventHandler StatsCompleted;
@@ -719,7 +719,7 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
 ///Upload person session if needed
 ///</remarks>
     [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPersonSessionIfNeeded";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight) {
+    public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, double weight) {
         object[] results = this.Invoke("UploadPersonSessionIfNeeded", new object[] {
                     personServerID,
                     sessionServerID,
@@ -727,7 +727,7 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
         return ((int)(results[0]));
     }
     
-    public System.IAsyncResult BeginUploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight, System.AsyncCallback callback, object asyncState) {
+    public System.IAsyncResult BeginUploadPersonSessionIfNeeded(int personServerID, int sessionServerID, double weight, System.AsyncCallback callback, object asyncState) {
         return this.BeginInvoke("UploadPersonSessionIfNeeded", new object[] {
                     personServerID,
                     sessionServerID,
@@ -739,11 +739,11 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
         return ((int)(results[0]));
     }
     
-    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight) {
+    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, double weight) {
         this.UploadPersonSessionIfNeededAsync(personServerID, sessionServerID, weight, null);
     }
     
-    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight, object userState) {
+    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, double weight, object userState) {
         if ((this.UploadPersonSessionIfNeededOperationCompleted == null)) {
             this.UploadPersonSessionIfNeededOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPersonSessionIfNeededCompleted);
         }
@@ -1196,7 +1196,7 @@ public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProt
     }
 }
 
-
+/// <remarks/>
 public class ConnectDatabaseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
     
     private object[] results;
@@ -1254,41 +1254,42 @@ public class CanINewCompletedEventArgs : System.ComponentModel.AsyncCompletedEve
 
 public delegate void CanINewCompletedEventHandler(object sender, CanINewCompletedEventArgs args);
 
-public class QueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+public class CanICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
     
     private object[] results;
     
-    internal QueryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+    internal CanICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
             base(exception, cancelled, userState) {
         this.results = results;
     }
     
-    public string Result {
+    public bool Result {
         get {
             this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
+            return ((bool)(this.results[0]));
         }
     }
 }
-public class CanICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+
+public delegate void CanICompletedEventHandler(object sender, CanICompletedEventArgs args);
+
+public class QueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
     
     private object[] results;
     
-    internal CanICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+    internal QueryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
             base(exception, cancelled, userState) {
         this.results = results;
     }
     
-    public bool Result {
+    public string Result {
         get {
             this.RaiseExceptionIfNecessary();
-            return ((bool)(this.results[0]));
+            return ((string)(this.results[0]));
         }
     }
 }
 
-public delegate void CanICompletedEventHandler(object sender, CanICompletedEventArgs args);
-
 public delegate void QueryCompletedEventHandler(object sender, QueryCompletedEventArgs args);
 
 public class StatsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
diff --git a/chronojump_server/Makefile.am b/chronojump_server/Makefile.am
index 7663e6e..d47c538 100644
--- a/chronojump_server/Makefile.am
+++ b/chronojump_server/Makefile.am
@@ -25,6 +25,7 @@ FILES = \
 	../src/util.cs\
 	../src/utilDate.cs\
 	../src/person.cs\
+	../src/personSession.cs\
 	../src/event.cs\
 	../src/jump.cs\
 	../src/run.cs\
diff --git a/chronojump_server/bin/chronojumpServer.dll b/chronojump_server/bin/chronojumpServer.dll
index de00929..cdf632e 100755
Binary files a/chronojump_server/bin/chronojumpServer.dll and b/chronojump_server/bin/chronojumpServer.dll differ
diff --git a/chronojump_server/chronojumpServerCSharp.cs b/chronojump_server/chronojumpServerCSharp.cs
index f7b27d5..de399d0 100755
--- a/chronojump_server/chronojumpServerCSharp.cs
+++ b/chronojump_server/chronojumpServerCSharp.cs
@@ -86,7 +86,7 @@ public class ChronojumpServer {
 		else 
 			return false; //"for if the flyes"
 
-		if(action == Constants.ServerActionUploadSession && cv >= new Version(0,8,9,6))
+		if(action == Constants.ServerActionUploadSession && cv >= new Version(0,8,16))
 			return true;
 		else if(action == Constants.ServerActionStats && cv >= new Version(0,8))
 			return true;
@@ -291,11 +291,11 @@ public class ChronojumpServer {
 	}
 	
 	[WebMethod(Description="Upload person session if needed")]
-	public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight)
+	public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, double weight)
 	{
 		if(!SqlitePersonSession.PersonSelectExistsInSession(personServerID, sessionServerID)) {
 			Console.WriteLine("personSession needed");
-			SqlitePersonSession.Insert (personServerID, sessionServerID, weight);
+			SqlitePersonSession.Insert (false, Constants.PersonSessionWeightTable, "-1", personServerID, sessionServerID, weight);
 			Console.WriteLine("done");
 			return 1; //unused
 		} else 
diff --git a/chronojump_server/howto_compile.txt b/chronojump_server/howto_compile.txt
index 88124b6..4bc1715 100644
--- a/chronojump_server/howto_compile.txt
+++ b/chronojump_server/howto_compile.txt
@@ -4,6 +4,7 @@ gmcs -t:library -out:bin/chronojumpServer.dll -r:System.Data -r:Mono.Data.Sqlite
 
 
 COMPILE CLIENT WITH WSDL (now auto done by makefile calling compile_wsdl.sh on this dir)
+better: see howto_server_2009.txt
 
 (server has to be running for doing this compilation
 xavier corall:/var/www/mono$ xsp2 --root /var/www/mono/
diff --git a/chronojump_server/howto_server_2009.txt b/chronojump_server/howto_server_2009.txt
index c9be547..b4120e7 100644
--- a/chronojump_server/howto_server_2009.txt
+++ b/chronojump_server/howto_server_2009.txt
@@ -44,8 +44,8 @@ firefox http://server.chronojump.org:8080/chronojumpServer.asmx
 4.- generate wsdl proxy file
 
 from console it doesnt' work, then do:
-a) go to client proxy
-b) generate in C
+a) go to 'client proxy'
+b) generate in C#
 c) download
 d) open in gedit
 e) save as ChronojumpServer.cs
diff --git a/configure.ac b/configure.ac
index 5353a41..c0666f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 dnl Warning: This is an automatically generated file, do not edit!
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ([2.54])
-AC_INIT([chronojump], [0.8.15])
+AC_INIT([chronojump], [0.8.16])
 AM_INIT_AUTOMAKE([foreign])
 
 AC_CONFIG_MACRO_DIR([m4])
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 45900da..328e5ee 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -192,8 +192,9 @@ comments</property>
               <widget class="GtkSpinButton" id="spinbutton_height">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="adjustment">0 0 250 1 10 10</property>
+                <property name="adjustment">0 0 250 0.10000000000000001 10 10</property>
                 <property name="climb_rate">1</property>
+                <property name="digits">1</property>
                 <property name="numeric">True</property>
               </widget>
               <packing>
@@ -208,8 +209,9 @@ comments</property>
               <widget class="GtkSpinButton" id="spinbutton_weight">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="adjustment">0 0 300 1 10 10</property>
+                <property name="adjustment">0 0 300 0.10000000000000001 10 10</property>
                 <property name="climb_rate">1</property>
+                <property name="digits">1</property>
                 <property name="numeric">True</property>
                 <signal name="value_changed" handler="on_entries_required_changed"/>
                 <signal name="activate" handler="on_entries_required_changed"/>
diff --git a/src/Makefile.am b/src/Makefile.am
index 3877461..3a893ba 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -150,6 +150,7 @@ FILES = \
 	AssemblyInfo.cs\
 	chronojump.cs\
  	person.cs\
+ 	personSession.cs\
  	event.cs\
  	eventType.cs\
  	jump.cs\
diff --git a/src/gui/convertWeight.cs b/src/gui/convertWeight.cs
index 2ab33bd..763242e 100644
--- a/src/gui/convertWeight.cs
+++ b/src/gui/convertWeight.cs
@@ -36,8 +36,8 @@ public class ConvertWeightWindow
 	[Widget] Gtk.Button button_accept;
 	[Widget] Gtk.Button button_cancel;
 	TreeStore store;
-	int oldPersonWeight;
-	int newPersonWeight;
+	double oldPersonWeight;
+	double newPersonWeight;
 	int sessionID;
 	int personID;
 	string [] jumpsNormal;
@@ -47,7 +47,7 @@ public class ConvertWeightWindow
 	string simpleString;
 	string reactiveString;
 	
-	ConvertWeightWindow (int sessionID, int personID, int oldPersonWeight, int newPersonWeight, string [] jumpsNormal, string [] jumpsReactive) {
+	ConvertWeightWindow (int sessionID, int personID, double oldPersonWeight, double newPersonWeight, string [] jumpsNormal, string [] jumpsReactive) {
 		Glade.XML gladeXML;
 		gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "chronojump.glade", "convert_weight", null);
 		gladeXML.Autoconnect(this);
@@ -89,7 +89,7 @@ public class ConvertWeightWindow
 	}
 
 	static public new ConvertWeightWindow Show (int sessionID, int personID, 
-			int oldPersonWeight, int newPersonWeight, string [] jumpsNormal, string [] jumpsReactive)
+			double oldPersonWeight, double newPersonWeight, string [] jumpsNormal, string [] jumpsReactive)
 	{
 		if (ConvertWeightWindowBox == null) {
 			ConvertWeightWindowBox = 
@@ -194,15 +194,15 @@ public class ConvertWeightWindow
 		}
 	}
 
-	private string createStringCalculatingKgs (int personWeightKg, int jumpWeightPercent) {
+	private string createStringCalculatingKgs (double personWeightKg, double jumpWeightPercent) {
 		return jumpWeightPercent + "% " + 
-			Convert.ToInt32(Util.WeightFromPercentToKg(jumpWeightPercent, personWeightKg)).ToString()
+			Convert.ToDouble(Util.WeightFromPercentToKg(jumpWeightPercent, personWeightKg)).ToString()
 			+ "Kg";
 	}
 
-	private string createStringCalculatingPercent (int oldPersonWeightKg, int newPersonWeightKg, int jumpWeightPercent) {
+	private string createStringCalculatingPercent (double oldPersonWeightKg, double newPersonWeightKg, double jumpWeightPercent) {
 		double jumpInKg = Util.WeightFromPercentToKg(jumpWeightPercent, oldPersonWeightKg);
-		double jumpPercentToNewPersonWeight = Convert.ToInt32(Util.WeightFromKgToPercent(jumpInKg, newPersonWeightKg));
+		double jumpPercentToNewPersonWeight = Convert.ToDouble(Util.WeightFromKgToPercent(jumpInKg, newPersonWeightKg));
 		return jumpPercentToNewPersonWeight + "% " + jumpInKg + "Kg";
 	}
 
@@ -219,11 +219,11 @@ public class ConvertWeightWindow
 					myStringFull[4], //type
 					myStringFull[5], //tf
 					myStringFull[6], //tf
-					createStringCalculatingKgs(oldPersonWeight, Convert.ToInt32(myStringFull[8])), //old weight
+					createStringCalculatingKgs(oldPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))), //old weight
 					true,
-					createStringCalculatingKgs(newPersonWeight, Convert.ToInt32(myStringFull[8])), //new weight 1
+					createStringCalculatingKgs(newPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))), //new weight 1
 					false,
-					createStringCalculatingPercent(oldPersonWeight, newPersonWeight, Convert.ToInt32(myStringFull[8])) //new weight 2
+					createStringCalculatingPercent(oldPersonWeight, newPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))) //new weight 2
 					);
 		}
 
@@ -235,11 +235,11 @@ public class ConvertWeightWindow
 					myStringFull[4], //type
 					myStringFull[10], //tf (AVG)
 					myStringFull[11], //tf (AVG)
-					createStringCalculatingKgs(oldPersonWeight, Convert.ToInt32(myStringFull[8])), //old weight
+					createStringCalculatingKgs(oldPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))), //old weight
 					true,
-					createStringCalculatingKgs(newPersonWeight, Convert.ToInt32(myStringFull[8])), //new weight 1
+					createStringCalculatingKgs(newPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))), //new weight 1
 					false,
-					createStringCalculatingPercent(oldPersonWeight, newPersonWeight, Convert.ToInt32(myStringFull[8])) //new weight 2
+					createStringCalculatingPercent(oldPersonWeight, newPersonWeight, Convert.ToDouble(Util.ChangeDecimalSeparator(myStringFull[8]))) //new weight 2
 					);
 		}
 
@@ -281,7 +281,7 @@ public class ConvertWeightWindow
 
 					//find percent (it's before the '%' sign)
 					string [] myStringFull = weightString.Split(new char[] {'%'});
-					int percent = Convert.ToInt32(myStringFull[0]);
+					double percent = Convert.ToDouble(myStringFull[0]);
 
 					//update DB
 					//see if it's reactive
diff --git a/src/gui/person.cs b/src/gui/person.cs
index 18801a7..42bd9a4 100644
--- a/src/gui/person.cs
+++ b/src/gui/person.cs
@@ -120,22 +120,24 @@ public class PersonRecuperateWindow {
 		//store.SetSortFunc (firstColumn + 5, birthColumnCompare);
 	}
 	
+	//cannot be double
 	public int heightColumnCompare (TreeModel model, TreeIter iter1, TreeIter iter2)     {
-		int val1 = 0;
-		int val2 = 0;
-		val1 = Convert.ToInt32(model.GetValue(iter1, firstColumn + 3));
-		val2 = Convert.ToInt32(model.GetValue(iter2, firstColumn + 3));
+		double val1 = 0;
+		double val2 = 0;
+		val1 = Convert.ToDouble(model.GetValue(iter1, firstColumn + 3));
+		val2 = Convert.ToDouble(model.GetValue(iter2, firstColumn + 3));
 		
-		return (val1-val2);
+		return (int) (10*val1-10*val2);
 	}
 
+	//cannot be double
 	public int weightColumnCompare (TreeModel model, TreeIter iter1, TreeIter iter2)     {
-		int val1 = 0;
-		int val2 = 0;
-		val1 = Convert.ToInt32(model.GetValue(iter1, firstColumn + 4));
-		val2 = Convert.ToInt32(model.GetValue(iter2, firstColumn + 4));
+		double val1 = 0;
+		double val2 = 0;
+		val1 = Convert.ToDouble(model.GetValue(iter1, firstColumn + 4));
+		val2 = Convert.ToDouble(model.GetValue(iter2, firstColumn + 4));
 		
-		return (val1-val2);
+		return (int) (10*val1-10*val2);
 	}
 
 	/*
@@ -249,7 +251,8 @@ public class PersonRecuperateWindow {
 	{
 		if(selected != "-1")
 		{
-			SqlitePersonSession.Insert(Convert.ToInt32(selected), sessionID, Convert.ToInt32(selectedWeight));
+			SqlitePersonSession.Insert(false, Constants.PersonSessionWeightTable, "-1", 
+					Convert.ToInt32(selected), sessionID, Convert.ToDouble(selectedWeight));
 			currentPerson = SqlitePersonSession.PersonSelect(Convert.ToInt32(selected), sessionID);
 
 			store = new TreeStore( typeof (string), typeof (string), typeof (string), typeof (string), 
@@ -561,7 +564,8 @@ public class PersonsRecuperateFromOtherSessionWindow : PersonRecuperateWindow
 					string weightString = (string) store.GetValue (iter, 5);
 
 					//insert in DB
-					SqlitePersonSession.Insert(personID, sessionID, Convert.ToInt32(weightString));
+					SqlitePersonSession.Insert(false, Constants.PersonSessionWeightTable, "-1", 
+						personID, sessionID, Convert.ToDouble(weightString));
 
 					//assign person to currentPerson (last will be really the currentPerson
 					currentPerson = SqlitePersonSession.PersonSelect(personID, sessionID);
@@ -845,7 +849,7 @@ public class PersonAddModifyWindow
 	private Session currentSession;
 	private int personID;
 	private string sex = Constants.M;
-	private int weightIni;
+	private double weightIni;
 	int pDN;
 	
 	private int serverUniqueID;
@@ -903,7 +907,7 @@ public class PersonAddModifyWindow
 			allOk = false;
 		}
 
-		if((int) spinbutton_weight.Value > 0)
+		if((double) spinbutton_weight.Value > 0)
 			image_weight.Hide();
 		else {
 			image_weight.Show();
@@ -1115,9 +1119,15 @@ public class PersonAddModifyWindow
 			else
 				label_date.Text = dateTime.ToLongDateString();
 
-
+			Log.WriteLine("jjjjjjjjjjjjjjjjjjjjjj");
+Log.WriteLine(myPerson.Height.ToString());
+Log.WriteLine(myPerson.Weight.ToString());
 			spinbutton_height.Value = myPerson.Height;
 			spinbutton_weight.Value = myPerson.Weight;
+Log.WriteLine(spinbutton_height.Value.ToString());
+Log.WriteLine(spinbutton_weight.Value.ToString());
+			Log.WriteLine("kkkkkkkkkkkkkkkkkkkkkkkk");
+
 			weightIni = myPerson.Weight; //store for tracking if changes
 		
 			mySportID = myPerson.SportID;
@@ -1383,7 +1393,7 @@ public class PersonAddModifyWindow
 			errorMessage += Catalog.GetString("Please select a level");
 		else {
 			//if weight has changed
-			if(!adding && (int) spinbutton_weight.Value != weightIni) {
+			if(!adding && (double) spinbutton_weight.Value != weightIni) {
 				//see if this person has done jumps with weight
 				string [] myJumpsNormal = SqliteJump.SelectJumps(currentSession.UniqueID, personID, "withWeight", "");
 				string [] myJumpsReactive = SqliteJumpRj.SelectJumps(currentSession.UniqueID, personID, "withWeight", "");
@@ -1392,7 +1402,7 @@ public class PersonAddModifyWindow
 					//create the convertWeight Window
 					convertWeightWin = ConvertWeightWindow.Show(
 							currentSession.UniqueID, personID, 
-							weightIni, (int) spinbutton_weight.Value, 
+							weightIni, (double) spinbutton_weight.Value, 
 							myJumpsNormal, myJumpsReactive);
 					convertWeightWin.Button_accept.Clicked += new EventHandler(on_convertWeightWin_accepted);
 					convertWeightWin.Button_cancel.Clicked += new EventHandler(on_convertWeightWin_cancelled);
@@ -1421,7 +1431,7 @@ public class PersonAddModifyWindow
 		//string dateFull = dateTime.Day.ToString() + "/" + dateTime.Month.ToString() + "/" +
 		//	dateTime.Year.ToString();
 		
-		double weight = (int) spinbutton_weight.Value;
+		double weight = (double) spinbutton_weight.Value;
 
 		//convert margarias (it's power is calculated using weight and it's written on description)
 		string [] myMargarias = SqliteRun.SelectRuns(currentSession.UniqueID, personID, "Margaria");
@@ -1437,7 +1447,7 @@ public class PersonAddModifyWindow
 		if(adding) {
 			//currentPerson = new Person (entry1.Text, sex, dateFull, 
 			currentPerson = new Person (entry1.Text, sex, dateTime, 
-					(int) spinbutton_height.Value, (int) weight, 
+					(double) spinbutton_height.Value, (double) weight, 
 					sport.UniqueID, 
 					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_speciallities), speciallities)),
 					Util.FetchID(UtilGtk.ComboGetActive(combo_levels)),
@@ -1449,7 +1459,7 @@ public class PersonAddModifyWindow
 		} else {
 			//currentPerson = new Person (personID, entry1.Text, sex, dateFull, 
 			currentPerson = new Person (personID, entry1.Text, sex, dateTime, 
-					(int) spinbutton_height.Value, (int) weight, 
+					(double) spinbutton_height.Value, (double) weight, 
 					sport.UniqueID, 
 					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_speciallities), speciallities)),
 					Util.FetchID(UtilGtk.ComboGetActive(combo_levels)),
@@ -1461,8 +1471,8 @@ public class PersonAddModifyWindow
 			SqlitePerson.Update (currentPerson); 
 		
 			//change weight if needed
-			if((int) spinbutton_weight.Value != weightIni)
-				SqlitePersonSession.UpdateWeight (currentPerson.UniqueID, currentSession.UniqueID, (int) spinbutton_weight.Value); 
+			if((double) spinbutton_weight.Value != weightIni)
+				SqlitePersonSession.UpdateWeight (currentPerson.UniqueID, currentSession.UniqueID, (double) spinbutton_weight.Value); 
 		}
 
 		fakeButtonAccept.Click();
@@ -1657,13 +1667,13 @@ public class PersonAddMultipleWindow {
 		}
 	}
 		
-	void checkEntries(int count, string name, int weight) {
+	void checkEntries(int count, string name, double weight) {
 		if(name.Length > 0) {
 			bool personExists = Sqlite.Exists (Constants.PersonTable, Util.RemoveTilde(name));
 			if(personExists) {
 				errorExistsString += "[" + (count+1) + "] " + name + "\n";
 			}
-			if(weight == 0) {
+			if(Convert.ToInt32(weight) == 0) {
 				errorWeightString += "[" + (count+1) + "] " + name + "\n";
 			}
 		}
@@ -1718,7 +1728,7 @@ public class PersonAddMultipleWindow {
 		 				(int) ((Gtk.SpinButton)spins[i]).Value);
 	}
 
-	void insertPerson (string name, bool male, int weight) 
+	void insertPerson (string name, bool male, double weight) 
 	{
 		string sex = Constants.F;
 		if(male) { sex = Constants.M; }
diff --git a/src/person.cs b/src/person.cs
index 99f5163..4de4631 100644
--- a/src/person.cs
+++ b/src/person.cs
@@ -28,8 +28,8 @@ public partial class Person {
 	private int uniqueID;
 	private string name;
 	private DateTime dateBorn;
-	private int height;
-	private int weight;
+	private double height;
+	private double weight;
 	private int sportID;	//1 undefined, 2 none, 3...n other sports (check table sportType)
 	private int speciallityID;
 	private int practice;	//-1 undefined, sedentary, 1 regular practice, 2 competition, 3 (alto rendimiento)
@@ -46,7 +46,7 @@ public partial class Person {
 
 	//suitable when we load a person from the database for being the current Person
 	public Person(int uniqueID, string name, string sex, DateTime dateBorn, 
-			int height, int weight, int sportID, int speciallityID, int practice, string description,
+			double height, double weight, int sportID, int speciallityID, int practice, string description,
 		       int race, int countryID, int serverUniqueID	
 			) 
 	{
@@ -71,7 +71,7 @@ public partial class Person {
 	
 	//typical constructor
 	public Person(string name, string sex, DateTime dateBorn, 
-			int height, int weight, int sportID, int speciallityID, int practice, string description,
+			double height, double weight, int sportID, int speciallityID, int practice, string description,
 		       int race, int countryID, int serverUniqueID,	
 			int sessionID) 
 	{
@@ -103,7 +103,7 @@ public partial class Person {
 		Log.WriteLine(this.ToString());
 
 		//insert in the personSession table (fast way of knowing who was in each session)
-		SqlitePersonSession.Insert (uniqueID, sessionID, weight);
+		SqlitePersonSession.Insert (false, Constants.PersonSessionWeightTable, "-1", uniqueID, sessionID, weight);
 	}
 	
 	//used to select a person at Sqlite.convertTables
@@ -113,8 +113,8 @@ public partial class Person {
 		this.name = myString[1];
 		this.sex = myString[2];
 		this.dateBorn = UtilDate.FromSql(myString[3]);
-		this.height = Convert.ToInt32(myString[4]);
-		this.weight = Convert.ToInt32(myString[5]);
+		this.height = Convert.ToDouble(Util.ChangeDecimalSeparator(myString[4]));
+		this.weight = Convert.ToDouble(Util.ChangeDecimalSeparator(myString[5]));
 		this.sportID = Convert.ToInt32(myString[6]);
 		this.speciallityID = Convert.ToInt32(myString[7]);
 		this.practice = Convert.ToInt32(myString[8]);
@@ -167,12 +167,12 @@ public partial class Person {
 	}
 	
 	
-	public int Height {
+	public double Height {
 		get { return height; }
 		set { height = value; }
 	}
 	
-	public int Weight {
+	public double Weight {
 		get { return weight; }
 		set { weight = value; }
 	}
diff --git a/src/personSession.cs b/src/personSession.cs
new file mode 100644
index 0000000..88bdbba
--- /dev/null
+++ b/src/personSession.cs
@@ -0,0 +1,90 @@
+/*
+ * This file is part of ChronoJump
+ *
+ * ChronoJump is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or   
+ *    (at your option) any later version.
+ *    
+ * ChronoJump is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ *    GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *  Copyright (C) 2004-2009   Xavier de Blas <xaviblas gmail com> 
+ */
+
+using System;
+using System.Data;
+using System.Text; //StringBuilder
+using Mono.Unix;
+
+public partial class PersonSession {
+
+	private int uniqueID;
+	private int personID;
+	private int sessionID;
+	private double weight;
+
+	
+	public PersonSession() {
+	}
+
+	public PersonSession(int uniqueID, int personID, int sessionID, double weight)
+	{
+		this.uniqueID = uniqueID;
+		this.personID = personID;
+		this.sessionID = sessionID;
+		this.weight = weight;
+	}
+	
+	//typical constructor
+	public PersonSession(int personID, int sessionID, double weight)
+	{
+		this.personID = personID;
+		this.sessionID = sessionID;
+		this.weight = weight;
+		
+
+		//insert in the personSession table
+		//when insert as personSession we don't know uniqueID
+		uniqueID = -1;
+		int insertedID = this.InsertAtDB(false, Constants.PersonSessionWeightTable);
+
+		//we need uniqueID for personSession
+		uniqueID = insertedID;
+
+		Log.WriteLine(this.ToString());
+	}
+	
+	//used to select a personSession at Sqlite.convertTables
+	public PersonSession(string [] myString)
+	{
+		this.uniqueID = Convert.ToInt32(myString[0]);
+		this.personID = Convert.ToInt32(myString[1]);
+		this.sessionID = Convert.ToInt32(myString[2]);
+		this.weight = Convert.ToDouble(Util.ChangeDecimalSeparator(myString[3]));
+	}
+
+	public int InsertAtDB (bool dbconOpened, string tableName) {
+		int myID = SqlitePersonSession.Insert(dbconOpened, tableName, 
+				uniqueID.ToString(),
+				personID, sessionID, weight);
+		return myID;
+	}
+	
+
+	public override string ToString()
+	{
+		return "";
+		//return "[uniqueID: " + uniqueID + "]" + name + ", " + ", " + sex + ", " + dateBorn.ToShortDateString() + ", " + description;
+	}
+	
+	~PersonSession() {}
+	   
+}
+
diff --git a/src/server.cs b/src/server.cs
index 82a9bb5..b97540b 100644
--- a/src/server.cs
+++ b/src/server.cs
@@ -555,7 +555,7 @@ public class Server
 		return person;
 	}
 
-	private static void serverUploadPersonSessionIfNeeded(ChronojumpServer myServer, int personServerID, int sessionServerID, int weight)
+	private static void serverUploadPersonSessionIfNeeded(ChronojumpServer myServer, int personServerID, int sessionServerID, double weight)
 	{
 		myServer.UploadPersonSessionIfNeeded(personServerID, sessionServerID, weight);
 	}
diff --git a/src/sqlite/jump.cs b/src/sqlite/jump.cs
index a165c19..18923cd 100644
--- a/src/sqlite/jump.cs
+++ b/src/sqlite/jump.cs
@@ -201,10 +201,10 @@ class SqliteJump : Sqlite
 		dbcon.Close();
 	}
 
-	public static void UpdateWeight(string tableName, int uniqueID, int weight)
+	public static void UpdateWeight(string tableName, int uniqueID, double weight)
 	{
 		dbcon.Open();
-		dbcmd.CommandText = "UPDATE " + tableName + " SET weight = " + weight + 
+		dbcmd.CommandText = "UPDATE " + tableName + " SET weight = " + Util.ConvertToPoint(weight) + 
 			" WHERE uniqueID == " + uniqueID ;
 		Log.WriteLine(dbcmd.CommandText.ToString());
 		dbcmd.ExecuteNonQuery();
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index 416ef1b..0929170 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -72,19 +72,18 @@ class Sqlite
 	 * Important, change this if there's any update to database
 	 * Important2: if database version get numbers higher than 1, check if the comparisons with currentVersion works ok
 	 */
-	static string lastChronojumpDatabaseVersion = "0.74";
+	static string lastChronojumpDatabaseVersion = "0.75";
 
 	public Sqlite() {
 	}
 
-	/*
-	public void CreateTable(string tableName) {
-		createTable(tableName);
-	}
-	*/
 	protected virtual void createTable(string tableName) {
 	}
 	
+	//used by personSessionWeight
+	protected virtual void createTable() {
+	}
+	
 	~Sqlite() {}
 
 
@@ -470,6 +469,7 @@ class Sqlite
 			SqliteReactionTime sqliteReactionTimeObject = new SqliteReactionTime();
 			SqlitePulse sqlitePulseObject = new SqlitePulse();
 			SqliteMultiChronopic sqliteMultiChronopicObject = new SqliteMultiChronopic();
+			SqlitePersonSession sqlitePersonSessionObject = new SqlitePersonSession();
 
 			if(currentVersion == "0.41") {
 				dbcon.Open();
@@ -619,7 +619,7 @@ class Sqlite
 			
 			if(currentVersion == "0.52") {
 				dbcon.Open();
-				SqlitePersonSession.createTable (); 
+				sqlitePersonSessionObject.createTable (); 
 				dbcon.Close();
 				
 				//this needs the dbCon closed
@@ -970,6 +970,25 @@ class Sqlite
 				dbcon.Close();
 				currentVersion = "0.74";
 			}
+			if(currentVersion == "0.74") {
+				conversionRateTotal = 3;
+				conversionRate = 1;
+				
+				dbcon.Open();
+
+				convertTables(new SqlitePerson(), Constants.PersonTable, 13, new ArrayList(), false);
+				conversionRate++;
+				
+				convertTables(new SqlitePersonSession(), Constants.PersonSessionWeightTable, 4, new ArrayList(), false);
+
+				SqlitePreferences.Update ("databaseVersion", "0.75", true); 
+				conversionRate++;
+				
+				Log.WriteLine("Converted DB to 0.75 (person, and personSessionWeight have height and weight as double)"); 
+				dbcon.Close();
+				currentVersion = "0.75";
+			}
+				
 
 
 		}
@@ -1092,7 +1111,8 @@ class Sqlite
 		SqliteSpeciallity.InsertUndefined(true);
 
 		creationRate ++;
-		SqlitePersonSession.createTable();
+		SqlitePersonSession sqlitePersonSessionObject = new SqlitePersonSession();
+		sqlitePersonSessionObject.createTable();
 		
 		creationRate ++;
 		SqlitePreferences.createTable();
@@ -1103,6 +1123,7 @@ class Sqlite
 		SqliteCountry.initialize();
 		
 		//changes [from - to - desc]
+		//0.74 - 0.75 Converted DB to 0.75 (person, and personSessionWeight have height and weight as double)
 		//0.73 - 0.74 Converted DB to 0.74 (All DJ converted to DJna)
 		//0.72 - 0.73 Converted DB to 0.73 (deleted orphaned persons (in person table but not in personSessionWeight table))
 		//0.71 - 0.72 dates to YYYY-MM-DD
@@ -1393,7 +1414,7 @@ class Sqlite
 		//2st create convert temp table
 		sqliteObject.createTable(Constants.ConvertTempTable);
 
-		//2nd copy all data from desired table to temp table adding the simulated column
+		//2nd copy all data from desired table to temp table (in event tables, adding the simulated column)
 		ArrayList myArray = new ArrayList(2);
 		dbcmd.CommandText = "SELECT * " + 
 			"FROM " + tableName + " ORDER BY uniqueID"; 
@@ -1430,6 +1451,9 @@ class Sqlite
 			} else if(tableName == Constants.RunIntervalTypeTable) {	
 				RunType myType = new RunType(myReaderStr, true); //interval
 				myArray.Add(myType);
+			} else if(tableName == Constants.PersonSessionWeightTable) {	
+				PersonSession myPS = new PersonSession(myReaderStr);
+				myArray.Add(myPS);
 			} else {
 				Event myEvent =  new Event();	
 				switch (tableName) {
@@ -1458,6 +1482,7 @@ class Sqlite
 		reader.Close();
 
 Console.WriteLine("1" + tableName);
+
 		conversionSubRateTotal = myArray.Count * 2;
 
 		if(tableName == Constants.PersonTable) {	
@@ -1475,12 +1500,18 @@ Console.WriteLine("1" + tableName);
 				type.InsertAtDB(true, Constants.ConvertTempTable, true); //last true is for interval
 				conversionSubRate ++;
 			}
+		} else if(tableName == Constants.PersonSessionWeightTable) {	
+			foreach (PersonSession ps in myArray) {
+				ps.InsertAtDB(true, Constants.ConvertTempTable);
+				conversionSubRate ++;
+			}
 		} else {
 			foreach (Event myEvent in myArray) {
 				myEvent.InsertAtDB(true, Constants.ConvertTempTable);
 				conversionSubRate ++;
 			}
 		}
+		
 Console.WriteLine("2" + tableName);
 		//3rd drop desired table
 		Sqlite.dropTable(tableName);
@@ -1488,6 +1519,8 @@ Console.WriteLine("2" + tableName);
 Console.WriteLine("3" + tableName);
 		//4d create desired table (now with new columns)
 		sqliteObject.createTable(tableName);
+
+
 Console.WriteLine("4" + tableName);
 
 		//5th insert data in desired table
@@ -1506,6 +1539,11 @@ Console.WriteLine("4" + tableName);
 				type.InsertAtDB(true, tableName, true); //last true is for interval
 				conversionSubRate ++;
 			}
+		} else if(tableName == Constants.PersonSessionWeightTable) {	
+			foreach (PersonSession ps in myArray) {
+				ps.InsertAtDB(true, tableName);
+				conversionSubRate ++;
+			}
 		} else {
 			foreach (Event myEvent in myArray) {
 				myEvent.InsertAtDB(true, tableName);
diff --git a/src/sqlite/person.cs b/src/sqlite/person.cs
index b87b8e1..6566bde 100644
--- a/src/sqlite/person.cs
+++ b/src/sqlite/person.cs
@@ -43,8 +43,8 @@ class SqlitePerson : Sqlite
 			"name TEXT, " +
 			"sex TEXT, " +
 			"dateborn TEXT, " + //YYYY-MM-DD since db 0.72
-			"height INT, " +
-			"weight INT, " + //now used personSession and person can change weight in every session. person.weight is not used
+			"height FLOAT, " +
+			"weight FLOAT, " + //now used personSession and person can change weight in every session. person.weight is not used
 			"sportID INT, " + 
 			"speciallityID INT, " + 
 			"practice INT, " + //also called "level"
@@ -57,7 +57,7 @@ class SqlitePerson : Sqlite
 
 	//can be "Constants.PersonTable" or "Constants.ConvertTempTable"
 	//temp is used to modify table between different database versions if needed
-	public static int Insert(bool dbconOpened, string tableName, string uniqueID, string name, string sex, DateTime dateBorn, int height, int weight, int sportID, int speciallityID, int practice, string description, int race, int countryID, int serverUniqueID)
+	public static int Insert(bool dbconOpened, string tableName, string uniqueID, string name, string sex, DateTime dateBorn, double height, double weight, int sportID, int speciallityID, int practice, string description, int race, int countryID, int serverUniqueID)
 	{
 		if(! dbconOpened)
 			dbcon.Open();
@@ -214,7 +214,7 @@ finishForeach:
 			if (!found) {
 				myArray2.Add (reader2[0].ToString() + ":" + reader2[1].ToString() + ":" +
 						reader2[2].ToString() + ":" + UtilDate.FromSql(reader2[3].ToString()).ToShortDateString() + ":" +
-						reader2[4].ToString() + ":" + 
+						reader2[4].ToString() + ":" +  //height
 						reader2[13].ToString() + ":" + //weight (from personSessionWeight)
 						reader2[14].ToString() + ":" + //sportName
 						reader2[15].ToString() + ":" + //speciallityName
@@ -458,8 +458,8 @@ finishForeach:
 			" SET name = '" + myPerson.Name + 
 			"', sex = '" + myPerson.Sex +
 			"', dateborn = '" + UtilDate.ToSql(myPerson.DateBorn) +
-			"', height = " + myPerson.Height +
-			", weight = " + myPerson.Weight +
+			"', height = " + Util.ConvertToPoint(myPerson.Height) +
+			", weight = " + Util.ConvertToPoint(myPerson.Weight) +
 			", sportID = " + myPerson.SportID +
 			", speciallityID = " + myPerson.SpeciallityID +
 			", practice = " + myPerson.Practice +
diff --git a/src/sqlite/personSession.cs b/src/sqlite/personSession.cs
index e83f831..1c02815 100644
--- a/src/sqlite/personSession.cs
+++ b/src/sqlite/personSession.cs
@@ -28,26 +28,37 @@ using Mono.Unix;
 
 class SqlitePersonSession : Sqlite
 {
-	protected internal static void createTable()
+	public SqlitePersonSession() {
+	}
+	
+	~SqlitePersonSession() {}
+
+	protected override void createTable(string tableName)
 	 {
 		dbcmd.CommandText = 
-			"CREATE TABLE " + Constants.PersonSessionWeightTable + " ( " +
+			"CREATE TABLE " + tableName + " ( " +
 			"uniqueID INTEGER PRIMARY KEY, " +
 			"personID INT, " +
 			"sessionID INT, " +
-			"weight INT)";		
+			"weight FLOAT)";		
 		dbcmd.ExecuteNonQuery();
 	 }
 
-	public static int Insert(int personID, int sessionID, int weight)
+	public static int Insert(bool dbconOpened, string tableName, string uniqueID, int personID, int sessionID, double weight)
 	{
-		dbcon.Open();
-		dbcmd.CommandText = "INSERT INTO " + Constants.PersonSessionWeightTable + 
-			"(personID, sessionID, weight) VALUES ("
-			+ personID + ", " + sessionID + ", " + weight + ")" ;
+		if(!dbconOpened)
+			dbcon.Open();
+		
+		if(uniqueID == "-1")
+			uniqueID = "NULL";
+
+		dbcmd.CommandText = "INSERT INTO " + tableName + 
+			"(uniqueID, personID, sessionID, weight) VALUES ("
+			+ uniqueID + ", " + personID + ", " + sessionID + ", " + Util.ConvertToPoint(weight) + ")" ;
 		dbcmd.ExecuteNonQuery();
 		int myReturn = dbcon.LastInsertRowId;
-		dbcon.Close();
+		if(!dbconOpened)
+			dbcon.Close();
 		return myReturn;
 	}
 	
@@ -100,11 +111,11 @@ class SqlitePersonSession : Sqlite
 		return myReturn;
 	}
 	
-	public static void UpdateWeight(int personID, int sessionID, int weight)
+	public static void UpdateWeight(int personID, int sessionID, double weight)
 	{
 		dbcon.Open();
 		dbcmd.CommandText = "UPDATE " + Constants.PersonSessionWeightTable + 
-			" SET weight = " + weight + 
+			" SET weight = " + Util.ConvertToPoint(weight) + 
 			" WHERE personID = " + personID +
 			" AND sessionID = " + sessionID
 			;
@@ -191,8 +202,15 @@ class SqlitePersonSession : Sqlite
 			values[11] = reader[11].ToString();
 		}
 
+		Log.WriteLine("11111111111111111");
+		Log.WriteLine(values[3]);
+		Log.WriteLine(values[4]);
+		Log.WriteLine("22222222222222222");
+
 		Person myPerson = new Person(uniqueID, values[0], 
-			values[1], UtilDate.FromSql(values[2]), Convert.ToInt32(values[3]), Convert.ToInt32(values[4]), 
+			values[1], UtilDate.FromSql(values[2]), 
+			Convert.ToDouble(Util.ChangeDecimalSeparator(values[3])), //height
+			Convert.ToDouble(Util.ChangeDecimalSeparator(values[4])), //weight
 			Convert.ToInt32(values[5]), Convert.ToInt32(values[6]), Convert.ToInt32(values[7]),
 			values[8], //desc
 			Convert.ToInt32(values[9]), Convert.ToInt32(values[10]), Convert.ToInt32(values[11])
@@ -226,8 +244,8 @@ class SqlitePersonSession : Sqlite
 					reader[1].ToString(),			//name
 					reader[2].ToString(),			//sex
 					UtilDate.FromSql(reader[3].ToString()),	//dateBorn
-					Convert.ToInt32(reader[4].ToString()),	//height
-					Convert.ToInt32(reader[13].ToString()),	//weight (personSessionWeight)
+					Convert.ToDouble(Util.ChangeDecimalSeparator(reader[4].ToString())),	//height
+					Convert.ToDouble(Util.ChangeDecimalSeparator(reader[13].ToString())),	//weight (personSessionWeight)
 					Convert.ToInt32(reader[6].ToString()),	//sportID
 					Convert.ToInt32(reader[7].ToString()),	//speciallityID
 					Convert.ToInt32(reader[8].ToString()),	//practice
@@ -410,13 +428,16 @@ class SqlitePersonSession : Sqlite
 		}
 		reader.Close();
 
-		dropOldTable();
+		dropOldTable(Constants.PersonSessionTable);
 
 		dbcon.Close();
 			
 		foreach (string line in myArray) {
 			string [] stringFull = line.Split(new char[] {':'});
 			Insert(
+					false,
+					Constants.PersonSessionWeightTable,
+					"-1",
 					Convert.ToInt32(stringFull[0]), //personID
 					Convert.ToInt32(stringFull[1]), //sessionID
 					Convert.ToInt32(stringFull[2]) //weight
@@ -428,10 +449,10 @@ class SqlitePersonSession : Sqlite
 	 * conversion from database 0.52 to 0.53 (add weight into personSession)
 	 * now weight of a person can change every session
 	*/
-	private static void dropOldTable() {
-		dbcmd.CommandText = "DROP TABLE " + Constants.PersonSessionTable;
+	private static void dropOldTable(string tableName) {
+		dbcmd.CommandText = "DROP TABLE " + tableName;
 		dbcmd.ExecuteNonQuery();
 	}
-
+	
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]