3 problemi con update

sabato 21 luglio 2007 - 10.46

_J_ Profilo | Senior Member

salve ragazzi,
ho questo codice che si propone di effettuare una update:

protected void Button4_Click(object sender, EventArgs e)
{
if (TextBox6.Text == string.Empty ||TextBox6.Text.Length>1) //il codice che codifica lo stato civile è fatto da una sola lettera
Response.Write("specificare un codice valido");

else
{
DataBind();
string cmd = "UPDATE ha_stato_civile SET cod_stato_civile=@cod_stato_civile,data_variaz_sc='+System.DateTime.Now+',flag_sc_corrente='s' WHERE ha_stato_civile.cod_persona=@cod_persona"; //------------>problema 2

SqlParameter cod_sc = new SqlParameter("@cod_stato_civile", SqlDbType.VarChar);
cod_sc.Value = Server.HtmlEncode(TextBox6.Text); //-------->problema 1

SqlParameter cod_pers = new SqlParameter("@cod_persona", SqlDbType.Int);
cod_pers.Value = Server.HtmlEncode(TextBox1.Text);

SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dati_generali"].ConnectionString);
SqlCommand oCommand = new SqlCommand(cmd, oConn);
oCommand.Parameters.Add(cod_sc);
oCommand.Parameters.Add(cod_pers);

oConn.Open();
SqlDataReader reader = oCommand.ExecuteReader();
tabella = new DataTable();
tabella.Load(reader);
oCommand.Dispose();
oCommand = null;
oConn.Close();
GridView2.DataBind(); //aggiornami il gridview

TextBox5.Text = GridView2.Rows[0].Cells[0].ToString();//aggiornami la textbox che mostra lo stato civile...questo è un codice provvisorio perchè non riesco a mostrare nulla--------->problema 3
}
}

Ma ho dei problemi:

1)
il primo riguarda cod_sc.Value = Server.HtmlEncode(TextBox6.Text);
infatti se al posto di TextBox6.Text provo a mettere una dropdownlist (collegata ad una tabella contenente tutti i possibili stati civili) con questa sintassi:
miadrop.SelectedValue.ToString()
non mi fa alcun aggiornamento, mentre con la textbox6 funziona tutto! Ho anche provato con selecteditem ma nulla...


2)
come faccio a far vedere tramite la textbox5 il record subito aggiornato?

3)
come faccio ad impostare la data e l'ora attuali del sistema nella query di update? io scrivo nella stringa:
UPDATE ha_stato_civile SET cod_stato_civile=@cod_stato_civile,data_variaz_sc='+System.DateTime.Now+',flag_sc_corrente='s' WHERE ha_stato_civile.cod_persona=@cod_persona
ma risponde:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.

se qualcuno di voi potesse aiutarmi, gli sarei enormemente grato.. ci sto sbattendo la testa da ore, ed ora inizia a farmi male!
grazie in anticipo!


ps: uso sqlserver, c# e la tabella ha_stato_civile si compone di questi 4 campi:
cod_persona (si riferisce a una tabella 'cittadino')
cod_stato_civile (si riferisce a una 'tabella_decod_stato_civile')
data_variaz_sc (datetime)
flag_sc_corrente
_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

_J_ Profilo | Senior Member

aggiornamento: ho risolto tutto... ciao a tutti
_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5