Avatar billede jaffafo Nybegynder
19. august 2004 - 01:48 Der er 19 kommentarer og
1 løsning

Smide HTML i en database

Hej

jeg ved ikke helt om denne tråd skal her,I html eller i Access kategorien, men jeg smider den her.

Jeg har lavet en administration hvor jeg kan oprette menupunkter i en hovedmenu og derefter undersider til de forskellige punkter.

Det jeg vil er at kunne lave html tags og smide den i databasen. bare nogle enkle så som <b> og <i> og <a href>

hvordan går jeg det?

har hørt noget om Texttosql(string) og Sqltotext(string)..

har nogen et eksempel?
Avatar billede arne_v Ekspert
19. august 2004 - 11:59 #1
Du opretter en tabel med et felt af typen memo og gemmer en streng med
HTML kode i det felt.
Avatar billede arne_v Ekspert
19. august 2004 - 11:59 #2
C# eller VB.NET ?
Avatar billede arne_v Ekspert
19. august 2004 - 12:12 #3
Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxx.mdb;User Id=admin;Password=")
con.Open
Dim cmd As OleDbCommand = New OleDbCommand ("INSERT INTO tabel (id,html) VALUES (" + id + "," + html + ")", con)
cmd.ExecuteNonQuery
con.Close

eller bedre:

Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxx.mdb;User Id=admin;Password=")
con.Open
Dim cmd As OleDbCommand = New OleDbCommand ("INSERT INTO tabel (id,html) VALUES (@id,@html)", con)
cmd.Parameters.Add("@id", OleDbType.Integer).Value = id
cmd.Parameters.Add("@html", OleDbType.LongVarChar).Value = html
cmd.ExecuteNonQuery
con.Close

[begge stykker kode er utestet !]
Avatar billede basementjack Nybegynder
19. august 2004 - 12:26 #4
Det kræver også denne i din .aspx:
<%@ Page Language="vb" validaterequest="false" %>

Det skal så siges, at hvis der er en ' i dit input vil dataene ikke blive sat ind(ihvert fald hvis det er en Access)..
Avatar billede arne_v Ekspert
19. august 2004 - 12:28 #5
Hvis man bruger den sidste metode med parameters, så bør ' sagtens kunne
håndteres.
Avatar billede basementjack Nybegynder
19. august 2004 - 12:30 #6
arne_v
- Er det denne du mener?.. :
Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxx.mdb;User Id=admin;Password=")
con.Open
Dim cmd As OleDbCommand = New OleDbCommand ("INSERT INTO tabel (id,html) VALUES (@id,@html)", con)
cmd.Parameters.Add("@id", OleDbType.Integer).Value = id
cmd.Parameters.Add("@html", OleDbType.LongVarChar).Value = html
cmd.ExecuteNonQuery
con.Close
Avatar billede arne_v Ekspert
19. august 2004 - 12:31 #7
ja
Avatar billede repsak Nybegynder
19. august 2004 - 15:34 #8
du skal først være opmærksom i det øjeblik at du IKKE vil have at <br /> vises som linjeskift. Sålænge at du bare lægger HTML i DB så er der ingen ko på isen :)
Avatar billede jaffafo Nybegynder
19. august 2004 - 17:13 #9
ok  så ved jeg det. :)

men hvordan kan man nemmest lave en knap som smider tekst ind lige der hvor "den blinkende streg" er?

Altså for. eksempel en knap der hedder "Link" og så når man trykker den så smider den en tekst der hedder "<a href=blabla target=_self>blabla</a>"
Avatar billede arne_v Ekspert
19. august 2004 - 17:22 #10
Du har en string med HTML og du vil have sat noget nyt tekst ind midt i den string ?
Avatar billede jaffafo Nybegynder
19. august 2004 - 17:57 #11
jeg har et tekstfelt som skal indeholde "indholdet" på en side.

Jeg skriver teksten:

blabal ablaabla balablaa balalbalablabla...

også vil jeg kunne trykke på en knap "link" og så tilføjer den "<a href=blabla target=_self>blabla</a>" ind i tekstboxen. Selvf. kan man gøre det manuelt, men det er til et CMS hvos brugeren måske ikke kan html kode...
Avatar billede arne_v Ekspert
19. august 2004 - 18:16 #12
Jeg er ikke sikker på at jeg helt forstår hvad du vil.

Og slet ikke i web context.

Men her er noget kode til inspiration:

Dim s As String = tb.Text
Dim ix As Integer = s.LastIndexOf(" ") + 1
Dim s2 As String = s.Substring(0, ix) & "<A HREF=""" & s.Substring(ix) & """>" & s.Substring(ix) & "</A>"
tb.Text = s2

Den burde konvertere som dette eksempel:

bla bla bla http://www.eksperten.dk/---->bla bla bla <A HREF="http://www.eksperten.dk/">http://www.eksperten.dk/</A>
Avatar billede arne_v Ekspert
19. august 2004 - 18:16 #13
OK ?
Avatar billede jaffafo Nybegynder
19. august 2004 - 18:24 #14
det var ikke det jeg mente..
hmm det er lidt svært at forklare..

jeg vil kunne tilføje tekst til tekst som allerede står i textboxen. Uden postback altså. Jeg begynder at tro der skal Java til det.

Ved ikke om du kender til www.hardwareonline.dk. Der kan man f.eks. Markere en tekst og trykke på "Fed" knappen så kommer der <b></b> rundt om den markede tekst. og det samme med "Link" og "Kursiv"

se her nederst:

http://www.hol.dk/traad.asp?fID=26&tID=203950
Avatar billede arne_v Ekspert
19. august 2004 - 18:26 #15
Umiddelbart synes jeg at det lyder mere som JavaScript (som ikke er det samme
som Java)
Avatar billede jaffafo Nybegynder
19. august 2004 - 18:35 #16
ja  det var også det jeg mente. :)

men jeg takker for svarene og lukker..  jeg opretter et nyt i javascript kategorien
Avatar billede basementjack Nybegynder
20. august 2004 - 09:53 #17
Function tagFormat(tekst as String, tag as String) as String
        Dim returnTxt As String
        returnTxt = "<" & tag & ">" & tekst & "</" & tag & ">"
        RETURN returnTxt
    End Function
   
    Sub btn_Click(sender As Object, e As EventArgs)
        Dim tekst As String
        Dim tag As String
        tekst = tb.Text
        tag = listBoxOfTags.SelectedItem.Value
        test = tagFormat(tekst, tag)
        lbl.Text += test
    End Sub

Sådan noget?.. Det kræver godt nok postback..
Avatar billede repsak Nybegynder
20. august 2004 - 11:27 #18
basementjack -> den er ok, men kræver at der ikke er attributter på tags :)
Avatar billede basementjack Nybegynder
20. august 2004 - 12:03 #19
Jeg var skam også helt nede og grave de allerede fem opgaver med asp.net op, som jeg har lavet... (multimediedesignerudd.) Jeg mente nok jeg havde lavet sådan en.. Men det kan da ikke være for svært at smide en ekstra variabel ind så attributer kan komme med.. :)
Avatar billede repsak Nybegynder
20. august 2004 - 23:37 #20
korrekt, men der kommer jo også et tidspunkt hvor man må overveje hvad der er lettest
1) MyMethod(param1, param2, param3...)
eller
2) string.Format("<a href=\"{0}\">{1}</a>", utl);

smag og behag :)
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