Avatar billede jct Nybegynder
31. oktober 2011 - 09:34 Der er 6 kommentarer og
1 løsning

Oprette en knap på en hjemmeside

Jeg har lavet en hjemmeside i C# som kan tilgåes internt via iPhone, nu er mit problem at jeg vil lave en knap som opdaterer et felt i en SQL database (der er i det jeg har lavet en connectionsstring til sql databasen og feltet kan ses) mit ønsker er så, at når man trykker på knappen skal feltet <opdatVer> opdateres med en, altså hvis der i forvejen står 3 skal det opdateres til 4 osv.
Håber nogen kan hjælpe.
Avatar billede Syska Mester
31. oktober 2011 - 09:42 #1
UPDATE table SET col = col + 1 WHERE id = 10
Avatar billede jct Nybegynder
31. oktober 2011 - 09:59 #2
Ser smart ud, men jeg er altså helt ny i dette, er col =kollenavn og hvad er id=10 ??
skal der ikke andet ind på knappens kodevindue?
Avatar billede jct Nybegynder
31. oktober 2011 - 09:59 #3
kollenavn = kolonnenavn
Avatar billede Syska Mester
31. oktober 2011 - 11:07 #4
opdatVer ?

Hvis det reelt er: OpdatedVersion, så kald det sådan. Lad være med at forkerte ting. Det giver intet udover en masse misforståelser og hvad den kolonne indeholde.

Hvordan ser din database table ud ?

Hvordan ser din kode ud til at hente data? ( kan se du snakker om en connection string )

Bruger du nogen ORM? ( http://en.wikipedia.org/wiki/Object-relational_mapping )

Der mangler en masse information før end jeg kan hjælpe, uden at lave det hele for bunden til dig.

mvh
Avatar billede jct Nybegynder
31. oktober 2011 - 11:18 #5
Du har ret i din antagelse OpdatVer = Opdateringsnummer

Connectionstring =
Data Source=TVLSQLHOST\SQLHOSTSYSTEMDB;Initial Catalog=Hardware;Persist Security Info=True;User ID=xxx;Password=XXXXXX

Det er lavet i Visual studio 10

Databasen ligger på rn SQL 2008 server og kolonnen er af typen numeric
Avatar billede Syska Mester
31. oktober 2011 - 11:31 #6
Har du ikke et SqlConnection og SqlComand ?

men kort ville det nok være noget ala:

SqlConnection conn = new SqlConnection("din con string");
// Den opdate alle rows, med mindre du har en where clause på.
SqlCommand cmd = new SqlCommand("UPDATE table SET Opdateringsnummer = Opdateringsnummer + 1", conn);
// SqlCommand cmd = new SqlCommand("UPDATE table SET Opdateringsnummer = Opdateringsnummer + 1 WHERE somecol = somevalue", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();

mvh
Avatar billede jct Nybegynder
30. november 2011 - 08:47 #7
Ovenstående kunne jeg heller ikke få til at virke, men så fik jeg besøg af en konsulent i anden forbindelse og han løste det på et par minutter, løsningen er som vist her (koden på selve knappen):

    protected void Button1_Click2(object sender, EventArgs e)
    {
        String sqlQ = "UPDATE [Hardware].[dbo].[Terminaler] SET Opdateret= Opdateret + 1 WHERE Serienummer='" + Request.QueryString["Serienummer"] + "'";
        try
            {
            System.Data.SqlClient.SqlConnection myCon = new System.Data.SqlClient.SqlConnection("Server=TVLSQLHOST\\SQLHOSTSYSTEMDB;Database=Hardware;user=Hardware;password=TivoliHardware2011");
         
            myCon.Open();
            SqlCommand myCommand = new SqlCommand();
            myCommand.CommandText = sqlQ;
            myCommand.Connection = myCon;
            myCommand.ExecuteNonQuery();
            myCon.Close();
            Response.Redirect(Request.RawUrl);
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine("Sql Error: " + sqlQ);
            Trace.Write(ex.Message);
        }


    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester