Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: [emt] Tietokannan muokkaus

Sivun loppuun

JussiR [02.03.2007 16:27:09]

#

On olemassa .aspx tietokanta serverillä ja mun pitäis tehdä sellainen sivu jossa on textboxi ja siihen voi kirjoittaa vaikka "50" ja sitten painaa lähetys-nappia niin se muuttaa tietokannassa olevan "jou":n arvon -> 50.
Esimerkki miltä tietokanta näyttää kun sen avaa IE:llä:

<?xml version="1.0" encoding="utf-8" ?>
- <data>
    <jou>40</jou>
    <juttu>344</juttu>
  </data>

LazyJones [02.03.2007 18:34:10]

#

System.Xml kirjaston funktioilla onnistuu

Hieman vinkkiä:

XmlDocument myXml = XmlDocument.Load("filu.xml");
XmlNode root = XmlDocument.DocumentElement;
XmlNodeList list = root.SelectNodes("jou");
//olettaen että on vain yksi "jou" tagi...
list.Items(0).InnerText = txtTekstiboksi.Text;
...

myXml.Save("filu.xml");

JussiR [02.03.2007 19:13:45]

#

Vai niin. En tajunnut mitään tuosta. :D
Tietokannan tiedostoformaatti on .aspx, ei .xml.

sooda [02.03.2007 19:43:22]

#

JussiR kirjoitti:

Tietokannan tiedostoformaatti on .aspx, ei .xml.

Ei se oo formaatti vaan pääte. Vaihat vaan "filu.xml":n filu.aspx:ksi tms.

http://www.w3schools.com/xml/default.asp

JussiR [02.03.2007 20:19:37]

#

Aijaa, ok.
Mä oon yrittäny tuota tietokantaa muokata monta kertaa eri tavoilla, mutta aina on tullut "Login failed" tjsp. virheitä.

LazyJones [02.03.2007 21:10:51]

#

Oletkohan nyt varma siitä mitä olet tekemässä?

Ensimmäisessä postauksessasi on pätkä xml-tiedostosta (joka voidaan kyllä mieltää tietokannaksi, vaikka siitä yleensä ei sitä nimitystä käytetä)
aspx-tiedostot taas ovat .net ympäristön käyttöliittymätiedostoja (suomeksi www-sivuja). Jotenkin oletin, että .NET ympäristössä liikutaan ja laitoin pätkän C#-koodia.

Tokihan sinulla voi olla .aspx päätteinen tiedosto, jossa on xml-muotoista dataa, mutta se ei kuulosta oikein mielekkäältä :)

Eli millä oikein olet käpistämässä ja mitä?

JussiR [03.03.2007 10:09:46]

#

Millä tahansa ohjelmalla haluaisin muokata.

LazyJones [03.03.2007 14:22:15]

#

Eipä minulle edelleen selvinnyt mistä on oikein kysymys. Voitko nyt tarkemmin selvittää millä olet tuota "tietokantaa" yrittänyt muokata? Ja jos sanot että sinulla on ".aspx tietokanta", luulenpa että kyseessä on jonkin sortin väärinkäsitys. Siis missä yhteydessä tulee tuo "login failed"?

JussiR [04.03.2007 11:57:34]

#

Login failed tulee, jos yritän winsockilla muokata "POST" komennolla tai jos käytän jotain Database Editor ohjelmaa.

Quirzo [04.03.2007 13:40:39]

#

Etkö voi esim. msinetillä sitä ajaa?

tietokanta.aspx?tunnus=tun&salasana=1234

Tollain vaan?

neau33 [04.03.2007 20:51:57]

#

LazyJones kirjoitti:

...
list.Items(0).InnerText = txtTekstiboksi.Text;
...

Vaihtaisin ton Items(0) > Item(0)

feenix [05.03.2007 15:06:09]

#

Eli sinulla on ASP.NET-veppisiivu joka sattuu palauttamaan XML-tietoa, jos nyt yhtään kristallipalloni toimi oikein. Se mitä siellä alla on tai miten sitä siellä käsitellään riippuu sitten ihan allaolevasta järjestelmästä. Järjestelmän tekijä kertonee miten sitä voi muokata, jos se on sellaiseksi tarkoitettu.

JussiR [05.03.2007 15:14:01]

#

Jaajaa. Pitäisikö tuo "data" - kohta sisällyttää koodiin?

neau33 [06.03.2007 17:16:06]

#

Heippa JussiR!

Mikäli kyseessä on localhost niin 'Login failed' jutska hoituu lisäämällä
web.config -tiedosto kansioon, jossa matsku fyysisesti sijaitsee.

web.config:

lainaus:

(varsin avoimet valtuudet)

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

   <appSettings>
     <add key="root" value='Server.MapPath()'/>
   </appSettings>

  <system.web>

          <sessionState mode="InProc" cookieless="true" timeout="20" />

             <authentication mode="Windows">
                <forms name="*.*" timeout="999999" />
             </authentication>

            <authorization>
               <allow users="*" />
            </authorization>

  </system.web>

</configuration>

neau33 [06.03.2007 17:56:14]

#

Heippa taas JussiR!

tässä olisi hieman osviittaa .xml muokkaamiseen...

lainaus:

SimppeliXmlEditori.aspx:
(in C#)

<%@ Page Language="C#" AspCompat="true" Debug="true" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Threading" %>
<%@ import Namespace="System.Xml" %>
<%@ import Namespace="System.Xml.XPath" %>
<%@ import Namespace="System.Xml.Xsl" %>
<script runat="server">

    void Page_Load(object sender, EventArgs e) {
    if (!Page.IsPostBack){
     Page.RegisterStartupScript("SetFocus", "<script>document.getElementById('" + TextBox1.ClientID + "').focus();" + "<" + "/script>");
    }
     Label1.Text = ""; Response.Write("");
    }

    void Button1_Click(object sender, EventArgs e) {
    if (TextBox1.Text !="" & TextBox2.Text !="") {
    XmlDocument doc = new XmlDocument();
    doc.Load(Server.MapPath("testi.xml"));
    XmlNode root = doc.DocumentElement;

    XmlNodeList list = root.SelectNodes("jou");


    int j=0;
    for (int i=0;(i < list.Count);i++) {


    if (list.Item(i).InnerText == TextBox1.Text) {
     list.Item(i).InnerText = TextBox2.Text; j++;
    }

    }
    if (j == 0) {
     if (list.Count == 1) {
       Response.Write("'jou' tagi ei sisältänyt" + "</br>" + "arvoa: " + TextBox1.Text);
       Label1.Text = "<a href='http://localhost/testi.html'>tsekkaa 'jou' tagin arvo</a>";
     }
     else {
       Response.Write("'jou' tagit eivät sisältäneet" + "</br>" + "arvoa: " + TextBox1.Text);
       Label1.Text = "<a href='http://localhost/testi.html'>tsekkaa 'jou' tagien arvot</a>";
     }
     TextBox1.Text = ""; TextBox2.Text = ""; return;
    }
     doc.Save(Server.MapPath("testi.xml"));
     Thread.Sleep(1000);

      string filename = Server.MapPath("testi.xml");
      string stylesheet = Server.MapPath("testi.xslt");
      XslTransform xslt = new XslTransform();
      xslt.Load(stylesheet);
      XPathNavigator xsltNav;
      xslt.Transform(filename, Server.MapPath("testi.html"), null);

      if (j == 1){
       Response.Write("'jou' tagin arvo: " + TextBox1.Text + "</br>" + "vaihdettu arvoksi: " +  TextBox2.Text);
      }
      else{
       Response.Write("'jou' tagien arvot: " + TextBox1.Text + "</br>" + "vaihdettu arvoon: " +  TextBox2.Text);
      }
      Label1.Text = "<a href='http://localhost/testi.html'>testi.html</a>";
      TextBox1.Text = ""; TextBox2.Text = "";
    }
    else {

    if (TextBox1.Text == "" & TextBox2.Text != "") {
      Response.Write("Korvattava arvo puuttuu!");
    }
    else if (TextBox1.Text != "" & TextBox2.Text == "") {
     Response.Write("Korvaava arvo puuttu!");
    }

    else {
      Response.Write("Ei mitään tehtävää!");
    }

    }
    }

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p font-color="red">
            <strong>SIMPPELI XML EDITORI<br />
            <br />
            Vaihda</strong>
            <br />
            tämä&nbsp;arvo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tähän arvoon<br />
            <asp:TextBox id="TextBox1" tabIndex="1" runat="server" Width="82px"></asp:TextBox>
            <asp:TextBox id="TextBox2" tabIndex="2" runat="server" Width="83px"></asp:TextBox>
            <asp:Button id="Button1" onclick="Button1_Click" tabIndex="3" runat="server" Text="Anna palaa"></asp:Button>
            <br />
            <asp:Label id="Label1" runat="server" forecolor="Black"></asp:Label>
            <br />
        </p>
    </form>
</body>
</html>

lainaus:

testi.xml:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<data>
  <jou>123</jou>
  <juttu>340</juttu>
  <jou>456</jou>
  <juttu>341</juttu>
  <jou>789</jou>
  <juttu>342</juttu>
  <jou>012</jou>
  <juttu>343</juttu>
  <jou>012</jou>
  <juttu>344</juttu>
</data>

lainaus:

testi.xslt:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns="http://www.w3.org/TR/xhtml1/strict">
<xsl:output method="html" indent="yes" />
<xsl:template match="/">
  <html>
    <body>
      <b>jou tagit:</b><br></br>
      <xsl:apply-templates select="data" />
     <a href="http://localhost/testi.xml">testi.xml</a><br></br>
     <a href="http://localhost/SimppeliXmlEditori.aspx">SimppeliXmlEditori.aspx</a><br></br>
    </body>
  </html>
</xsl:template>
<xsl:template match="data">
 <xsl:apply-templates/>
</xsl:template>
<xsl:template match="juttu">
 <br><xsl:value-of select="jou" /></br>
</xsl:template>
</xsl:stylesheet>

lainaus:

testi.html:

<html xmlns="http://www.w3.org/TR/xhtml1/strict">
<head>
</head>
<body>
    <b>jou tagit:</b>
    <br />
    123<br />
    456<br />
    789<br />
    012<br />
    012<br />
    <a href="http://localhost/testi.xml">testi.xml</a>
    <br />
    <a href="http://localhost/SimppeliXmlEditori.aspx">SimppeliXmlEditori.aspx</a>
    <br />
</body>
</html>

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta