Salve,
ho una pagina .aspx nel quale devo controllarare la presenza di un record all'interno della tabella "prova" presente nel database, affinchè la sessione sia valida. Il void Page_Load è il seguente:
Codice PHP:
void Page_Load(object sender, System.EventArgs e)
{
titletext.Text = "Pagina di prova";
string sessione;
sessione = Request.QueryString["session"];
Label1.Text = sessione;
SqlConnection connection = new SqlConnection();
connection.ConnectionString = @"Data Source=nomeServer; Initial Catalog=database; User Id=user; Password=pwd";
connection.Open();
string dataseriale;
string anno;
string mese;
string giorno;
string ora;
string minuti;
anno = Convert.ToString(DateTime.Now.Year);
mese = Convert.ToString(DateTime.Now.Month);
giorno = Convert.ToString(DateTime.Now.Day);
ora = Convert.ToString(DateTime.Now.Hour);
minuti = Convert.ToString(DateTime.Now.Minute);
if (mese.Length == 1)
{
mese = "0" + mese;
}
if (giorno.Length == 1)
{
giorno = "0" + giorno;
}
if (ora.Length == 1)
{
ora = "0" + ora;
}
if (minuti.Length == 1)
{
minuti = "0" + minuti;
}
dataseriale = anno + mese + giorno + ora + minuti;
SqlCommand prendi = new SqlCommand("Select * from prova WHERE sessione = + sessione " , connection);
SqlDataReader Rs2 = prendi.ExecuteReader();
while (Rs2.Read()) ;
{
string sexsione;
sexsione = Rs2.GetString(1);
if (Convert.ToInt64(dataseriale) - Rs2.GetInt64(3) < 20)
{
Rs2.Close();
//Response.Write("BENE");
SqlCommand aggi = new SqlCommand("UPDATE prova SET data = '" + dataseriale + "' WHERE sessione = '" + sexsione + "'", connection);
aggi.ExecuteNonQuery();
}
else
{
Session.Abandon();
Response.Redirect("index.asp?Errore=Timeout");
}
}
}
L'errore che mi restuisce è alla riga:
sexsione = Rs2.GetString(1);
e l'errore è il seguente:
Exception Details: System.InvalidOperationException: Invalid attempt to read when no data is present.
come posso risolvere?
Grazie, Kuilsera