chiedo scusa in anticipo a tutti per il disturbo,

ho il seguente problema:

con una pagina default.aspx invio due date tramite POST ad un'altra pagina che interroga un db access (esec.aspx), fin quì + o - sono riuscito.

una volta che le 2 query mi restituiscono i risultati (ogni query restituisce un singolo risultato, data la conformazione dei dati) , devo fare la sottrazione dei 2 valori.

se però i valori restitutiti sono troppo grandi mi dà questo errore:

Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.FormatException: Formato della stringa di input non corretto.

Riga 36: consumo.Text = datiVal2.Text - datiVal1.Text
mi pare che dovrei fare delle conversioni in double ecc..

ho provato ma nn ne esco...

allego le pagine di codice.
p.s. stò usando IIS7

un grazie in anticipo a chi mi risolve questo problema

default.aspx
<html>

<head>
<title>...</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" media="all" href="skins/aqua/theme.css" title="Aqua" />
<script type="text/javascript" src="calendar.js"></script>
<script type="text/javascript" src="calendar-it.js"></script>
<script type="text/javascript">

var oldLink = null;
function setActiveStyleSheet(link, title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
if (oldLink) oldLink.style.fontWeight = 'normal';
oldLink = link;
link.style.fontWeight = 'bold';
return false;
}

// This function gets called when the end-user clicks on some date.
function selected(cal, date) {
cal.sel.value = date; // just update the date in the input field.
if (cal.dateClicked && (cal.sel.id == "sel1" || cal.sel.id == "sel3"))
cal.callCloseHandler();
}

function closeHandler(cal) {
cal.hide(); // hide the calendar
// cal.destroy();
_dynarch_popupCalendar = null;
}

function showCalendar(id, format, showsTime, showsOtherMonths) {
var el = document.getElementById(id);
if (_dynarch_popupCalendar != null) {
// we already have some calendar created
_dynarch_popupCalendar.hide(); // so we hide it first.
} else {
// first-time call, create the calendar.
var cal = new Calendar(1, null, selected, closeHandler);
// uncomment the following line to hide the week numbers
// cal.weekNumbers = false;
if (typeof showsTime == "string") {
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
_dynarch_popupCalendar = cal; // remember it in the global var
cal.setRange(1900, 2070); // min/max year allowed.
cal.create();
}
_dynarch_popupCalendar.setDateFormat(format); // set the specified date format
_dynarch_popupCalendar.parseDate(el.value); // try to parse the text in field
_dynarch_popupCalendar.sel = el; // inform it what input field we use

_dynarch_popupCalendar.showAtElement(el.nextSiblin g, "Br"); // show the calendar

return false;
}

var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

function isDisabled(date) {
var today = new Date();
return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10;
}

function flatSelected(cal, date) {
var el = document.getElementById("preview");
el.innerHTML = date;
}

function showFlatCalendar() {
var parent = document.getElementById("display");

var cal = new Calendar(0, null, flatSelected);

cal.weekNumbers = false;

cal.setDisabledHandler(isDisabled);
cal.setDateFormat("%A, %B %e");

cal.create(parent);

cal.show();
}
</script>

<style type="text/css">
.NuovoStile1 {
font-family: Trebuchet MS;
font-size: 14px;
}
</style>

</head>

<body>

<form class="NuovoStile1" method="post" action="esec.aspx">
<table align="center" width="65%">
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td>
</tr>

<tr>
<td align="right">impianto </td><td><select name="impianto">
<option value="Frigo_1">Frigo 1</option>
<option value="Frigo_2">Frigo 2</option>
<option value="Frigo_3">Frigo 3</option>
<option value="Frigo_4">Frigo 4</option>
<option value="Frigo_5">Frigo 5</option>
<option value="Frigo_6">Frigo 6</option>
</select></td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td align="right">dal giorno </td><td><input type="text" name="data1" id="sel3" size="30"
><input type="reset" value=" ... "
onclick="return showCalendar('sel3', '%d/%m/%Y');"></td><td align="right">ore </td><td><select name="ora1">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select></td><td align="right">minuti </td><td><select name="minuti1">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td align="right">al giorno </td><td><input type="text" name="data2" id="sel4" size="30"
><input type="reset" value=" ... "
onclick="return showCalendar('sel4', '%d/%m/%Y');" ></td><td align="right">ore </td><td><select name="ora2">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select></td><td align="right">minuti </td><td><select name="minuti2">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td><td></td><td><input name="Submit1" type="submit" value="invia"></td>
</tr>
</table>
</form>

</body>

</html>

esec.aspx
<%@ Page Language="VB" ValidateRequest="false" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim cmd2 As OleDbCommand
Dim dr2 As OleDbDataReader
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("miodatabase.mdb")
cn = New OleDbConnection(str)
cn.Open()
'valori prima data
cmd = New OleDbCommand("SELECT * FROM "& Request.Form("impianto") &" WHERE TagDescription LIKE '%(Kwh)%' AND TagTimeStamp = #" & Request.form ("data1")& " " & Request.Form("ora1") & "." & Request.Form("minuti1") & ".00 #", cn)
dr = cmd.ExecuteReader()
'valori seconda data
cmd2 = New OleDbCommand("SELECT * FROM "& Request.Form("impianto") &" WHERE TagDescription LIKE '%(Kwh)%' AND TagTimeStamp = #" & Request.form ("data2")& " " & Request.Form("ora2") & "." & Request.Form("minuti2") & ".00 #", cn)
dr2 = cmd2.ExecuteReader()

'parametri passati da form
valori1.text = Request.Form("impianto") +" "+ Request.form ("data1") +" "+ Request.Form("ora1") +"."+ Request.Form("minuti1") + ".00"
valori2.text = Request.Form("impianto") +" "+ Request.form ("data2") +" "+ Request.Form("ora2") +"."+ Request.Form("minuti2") + ".00"

'ciclo prima data
While (dr.Read())
dati1.Text = dr("TagDescription")
datiVal1.Text = dr("TagValue")
End While
'ciclo seconda data
While (dr2.Read())
dati2.Text = dr2("TagDescription")
datiVal2.Text = dr2("TagValue")
End While
'ricavo consumo
consumo.Text = datiVal2.Text - datiVal1.Text
'chiudi connessione
dr.Close()
dr2.Close()
cn.Close()
End Sub
</script>
<html>
<head>
<title>...</title>
<style type="text/css">
.NuovoStile1 {
font-family: "Trebuchet MS";
font-size: 14px;
}
.NuovoStile2 {
font-family: "Trebuchet MS";
font-size: 14px;
font-weight: bolder;
font-style: italic;
}
</style>
</head>
<body>

<form class="NuovoStile1" id="Modulo" runat="server">
<table align="center" width="50%">
<tr>
<td align="right">Torna alla home</td><td></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td align="right"><asp:Label ID="valori1" runat="server"></asp:Label> </td><td></td>
</tr>
<tr>
<td align="right"><asp:Label ID="dati1" runat="server"></asp:Label>: </td><td>
<asp:Label ID="datiVal1" runat="server" CssClass="NuovoStile2"></asp:Label></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td align="right"><asp:Label ID="valori2" runat="server"></asp:Label> </td><td></td>
</tr>
<tr>
<td align="right"><asp:Label ID="dati2" runat="server"></asp:Label>: </td><td><asp:Label ID="datiVal2" runat="server" CssClass="NuovoStile2"></asp:Label></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td align="right">

Valore consumo nel periodo (Kwh): </p></td><td><asp:Label ID="consumo" runat="server" CssClass="NuovoStile2"></asp:Label></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td></td><td><input type="button" value="Stampa risultati" onclick="window.print();return false;" /></td>
</tr>
</table>
</form>

</body>
</html>
struttura db

sono 6 tabelle con campo data e valore