IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @276
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Hľadáte CRM softvér?

SunSoft.CRM • množstvo funkcií • možnosť individuálnych úprav • výhodná cena crm.sunsoft.sk

Súťaž o LEGO® duplo®

Vyhrajte prekvapenie pre svoje detičky! LEGO duplo 2 krát deňne do konca mesiaca www.duplo.lego.com

Dala som si poradiť

O moje peniaze je postarané. A o vaše? www.partnersgroup.sk

Zbavte sa viazanosti

Za Xperia Mini Pro so strieborným O2 Paušálom zaplatíte teraz 53 €! pausal.o2.sk

Sprostredkovávajte hypotéky

Začnite sprostredkovávať hypotéky s úspešným hypotekárnym centrom! www.SprostredkovanieUverov.sk

Zmena údajov v databáze

Zaslať odpoveď
AutorSpráva
danciwo
Užívateľ
Užívateľ

Založený: 25.03.2008
Príspevky: 72

PríspevokZaslal: So 03.10.09 15:46Odpovedať s citátomNávrat hore

Zdravím, mám webovú aplikáciu pomocou ktorej sa vkladajú údaje do databázy a potrebujem urobit editáciu týchto údajov.
Takže stratégia by mala byt nasledujúca:

1. načítam údaje z databázy a to co získam vlozím ako hodnoty do web forms-> to budu pôvodné údaje určené pre editáciu priamov týchto forms.
to je prvá z dvoch metód -> tá funguje.

2. načítam editované údaje z web forms a vlozim ich do databázy

Problém je taký, že ked získam dáta z databázy a "namapujem" ich na tieto forms, tak akokolvek ich uz pri beziej aplikácii editujem, stále ostanú rovnaké a neprepíšu sa v databáze. Vid metodu Button1_Click.

Asi to bude problém s referenciami, tak somskusil tie údaje ziskat cez .Clone(), ale nepomohlo.

kód:

{
    public partial class WebForm18 : System.Web.UI.Page
    {
        SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString);
        string update_cmd_text = "UPDATE dbo.Programs SET description = '@description', source = '@source', www = '@www', cat_id = @cat_id, lang_id = @lang_id WHERE (prog_id = @prog_id)";
        string select_cmd_text = "SELECT Programs.prog_id, Programs.cat_id, Programs.lang_id, Programs.userID, Programs.description, Programs.source, Programs.www, Languages.lang_name,  Categories.cat_name FROM  Programs INNER JOIN Languages ON Programs.lang_id = Languages.lang_id INNER JOIN Categories ON Programs.cat_id = Categories.cat_id WHERE (Programs.prog_id = @prog_id)";
       

        protected void Page_Load(object sender, EventArgs e)
        {
            SqlDataReader reader;
            select_cmd_text = select_cmd_text.Replace("@prog_id", Request.QueryString["prog_id"]);
           
            SqlCommand cmd = new SqlCommand(select_cmd_text, connection);

            try
            {
                connection.Open();
                reader = cmd.ExecuteReader();
                reader.Read();
            }
            catch (SqlException ex)
            {
                StatusLabel.Text = ex.Message;
                return;
            }

            //no exception has been throwed
            DropDownList1.SelectedValue = (string)reader["lang_id"].ToString().Clone();
            DropDownList2.SelectedValue = (string)reader["cat_id"].ToString().Clone();
            descriptionEditor.Text = (string)reader["description"].ToString().Clone();
            sourcecodeEditor.Content = (string)reader["source"].ToString().Clone();
            wwwTextBox.Text = (string)reader["www"].ToString().Clone();

            connection.Close();
           
 
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //ked chcem prepísat editované údaje a vlozit do query, tak tam vlozia povode udeje a nie tie editované!!

            update_cmd_text = update_cmd_text.Replace("@lang_id", DropDownList1.SelectedValue);
            update_cmd_text = update_cmd_text.Replace("@cat_id", DropDownList2.SelectedValue);
            update_cmd_text = update_cmd_text.Replace("@description", descriptionEditor.Text);
            update_cmd_text = update_cmd_text.Replace("@source",sourcecodeEditor.Content);
            update_cmd_text = update_cmd_text.Replace("@www",wwwTextBox.Text);
            update_cmd_text = update_cmd_text.Replace("@prog_id", Request.QueryString["prog_id"]);

            SqlCommand cmd = new SqlCommand(update_cmd_text, connection);


            try
            {
                connection.Open();
                cmd.ExecuteNonQuery();
            }
            catch (InvalidOperationException opex)
            {
                StatusLabel.Text = opex.Message;
                return;
            }
            finally
            {
                StatusLabel.Text = "Program zmenený.";
                connection.Close();
            }

        }
    }
}


edit: query je v poriadku a funguje, takze ten rozhádzany string na zaciatku si nevsimajte

_________________
I am sorry, did I break your concentration?
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailZobraziť autorove WWW stránky
wotan
Užívateľ
Užívateľ

Založený: 30.08.2007
Príspevky: 108

PríspevokZaslal: So 03.10.09 15:52Odpovedať s citátomNávrat hore

a si si isty ze toto patri do php?
Zobraziť informácie o autoroviOdoslať súkromnú správu
danciwo
Užívateľ
Užívateľ

Založený: 25.03.2008
Príspevky: 72

PríspevokZaslal: So 03.10.09 15:56Odpovedať s citátomNávrat hore

wotan napísal:
a si si isty ze toto patri do php?


ano sorááč, kategoria sa vola PHP ASP, ale nevsimol som si ze je dole aj téma ASP.NET. Mohol by to niekto kompetentný tam premiestnit? Dakujem.

_________________
I am sorry, did I break your concentration?
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd