Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hämtar inte hela texten från databasen...

Postades av 2005-06-03 16:12:44 - Cecilia Ekengren, i forum asp - allmänt, Tråden har 8 Kommentarer och lästs av 429 personer

Jag har ett problem som jag inte fattar.

På ett ställe i sajten jag gör kan jag välja bland länkar (namn på företag) och får då upp alla inlagda nyheter från en av mina tabeller i databasen. Om jag däremot gör en "fritextsökning" och skriver in företagets namn så letar jag igenom flera olika tabeller - och får upp rätt poster men från fältet "text" som innehåller en längre text, så klipps strängen av efter 255 tecken. Texterna är inlagda som memo i databasen. Varför visas hela texten när jag söker på ena stället och bara en del av texten när jag söker igenom flera tabeller?

På stället där hela texten skrivs ut ser koden ut såhär:

<%
'Gets all news about the requested company
SQL = "SELECT * FROM Companies,News WHERE Companies.compId = News.compId AND Companies.compName ='" & comp & "' ORDER BY date DESC"
rs.Open SQL, conn
Do While Not rs.EOF
%>
<tr>
  <td colspan="3"><b><%=rs("date")%>, <%=rs("compName")%></b>
	<br><b><%=rs("title")%></b>
	<br><%=rs("text")%>
  </td>
</tr>
<tr height="40">
  <td width="400">
               <%
                'If there is a link to the news
	If Not rs("link") = "" Then
	%>
	" target="info" class="link">link..
	<%
	End If
				
	If Not rs("file") = "" Then
	%>
	" target="info" class="link">file..
	<%
	End If
	%>
	&nbsp;
  </td>
  <td align="right">
   <input type="button" value="Delete" class="smalltxt" onClick="return remove(<%=rs("newsId")%>)">
  </td>
  <td align="right">
   <input type="button" value="Edit" class="smalltxt" onClick="edit(<%=rs("newsId")%>)">
  </td>
</tr>
<tr>
  <td colspan="3">&nbsp;
    <hr>
  </td>
</tr>
rs.MoveNext
Loop
End If
rs.Close


Och på stället där inte hela texten tas med ser det ut såhär:

<%
'Checks for hits among news topics
SQL1 = "SELECT DISTINCT News.newsId, News.title, News.text, News.date, News.link, News.file "
SQL1 = SQL1 + "FROM Companies INNER JOIN News ON Companies.compId=News.compId "
SQL1 = SQL1 + "WHERE Companies.compName ='" & word & "' " 'Companyname = word
SQL1 = SQL1 + "OR News.title LIKE '% " & word & "%' " 'phrase in beginning of word in title
SQL1 = SQL1 + "OR News.text LIKE '% " & word & "%' " 'phrase in beginning of word in text
SQL1 = SQL1 + "ORDER by News.date DESC"

rs.Open SQL1,conn

'If there are news hits
If Not rs.EOF Then
%>
<tr height="30">
  <td class="heading">Company news</td>
</tr>
<%
Do While Not rs.EOF
%>
<tr>
  <td><b><%=rs("date")%></b>
                <br><b><%=rs("title")%></b>
	<br><%=rs("text")%>
  </td>
</tr>
<tr height="40">
  <td width="400">
	<%
	'If there is a link to the news
	If Not rs("link") = "" Then
	%>
	" target="info" class="link">link..
	<%
	End If
				
	If Not rs("file") = "" Then
	%>
	" target="info" class="link">file..
	<%
	End If
	%>
	&nbsp;
  </td>
</tr>
<tr>
  <td>&nbsp;
    <hr>
  </td>
</tr>
<%
rs.MoveNext
Loop
End If
rs.Close
%>


Svara

Sv: Hämtar inte hela texten från databasen...

Postades av 2005-06-03 16:43:53 - Göran Andersson

Om du använder distinct så måste den klippa ned texterna för att kunna hantera dem. Ta bort distinct.


Svara

Sv: Hämtar inte hela texten från databasen...

Postades av 2005-06-03 16:44:10 - Björn Österman

Hej

Testa att ändra:
<code>
rs.Open SQL, conn
</code>
till
<code>
rs.Open SQL, conn, 1, 2
</code>

Jag har för mig att ifall man inte specificerar vilket typ av sätt man vill öppna connectionen så får man en del sådana problem.

// MvH Björne


Svara

Sv:Hämtar inte hela texten från databasen...

Postades av 2005-06-03 18:02:02 - Cecilia Ekengren

Tack båda! Jag ska testa. När jag kommer tillbaka från Mallorca - om 2 veckor... :)


Svara

Sv:Hämtar inte hela texten från databasen...

Postades av 2005-06-03 18:07:18 - Göran Andersson

rs.Open SQL, conn

är samma sak som:

rs.Open SQL, conn, 0, 1

eller:

Set rs = conn.Execute(SQL)

Det ska inte ge några sådana biverkningar.


Svara

Sv: Hämtar inte hela texten från databasen...

Postades av 2005-06-03 20:56:50 - Cecilia Ekengren

Okej - men kan jag inte använda DISTINCT isåfall? Jag använde bara * först, men då fick jag upp flera träffar på samma post.


Svara

Sv:Hämtar inte hela texten från databasen...

Postades av 2005-06-03 21:21:35 - Cecilia Ekengren

Jag gör 3 sökningar i filen. De 2 första funkar bra med * , där jag har 2 tabeller att göra inner join på, men inte den tredje. Där har jag 3 tabeller som relaterar till varandra - TechnologyTopics, TechTopicCategories och SubTechCategories. Så här ser min SQL-sats ut där...

<%
SQL3 = "SELECT * "
SQL3 = SQL3 + "FROM TechnologyTopics, TechTopicCategories, SubTechCategories "
SQL3 = SQL3 + "WHERE TechnologyTopics.catId=TechTopicCategories.techCatId "
SQL3 = SQL3 + "AND TechnologyTopics.catId=SubTechCategories.techCatId "
SQL3 = SQL3 + "AND TechTopicCategories.techCategory='" & word & "' "
SQL3 = SQL3 + "OR SubTechCategories.subCategory='" & word & "' "
SQL3 = SQL3 + "OR TechnologyTopics.title Like '% " & word & "%' " 
SQL3 = SQL3 + "OR TechnologyTopics.text Like '% " & word & "%' "
SQL3 = SQL3 + "ORDER BY TechnologyTopics.date DESC"
%>


...och då får jag flera träffar på samma topic... Hur gör jag en inner join mellan tre tabeller? För jag antar att det är det som är felet här...


Svara

Sv: Hämtar inte hela texten från databasen...

Postades av 2005-06-03 22:30:17 - Björn Österman

En sak som jag funderar på är om du inte skall ha paranteser som nedan.

<%
SQL3 = "SELECT * "
SQL3 = SQL3 + "FROM TechnologyTopics, TechTopicCategories, SubTechCategories "
SQL3 = SQL3 + "WHERE TechnologyTopics.catId=TechTopicCategories.techCatId "
SQL3 = SQL3 + "AND TechnologyTopics.catId=SubTechCategories.techCatId "
SQL3 = SQL3 + "AND (TechTopicCategories.techCategory='" & word & "' "
SQL3 = SQL3 + "OR SubTechCategories.subCategory='" & word & "' "
SQL3 = SQL3 + "OR TechnologyTopics.title Like '% " & word & "%' " 
SQL3 = SQL3 + "OR TechnologyTopics.text Like '% " & word & "%') "
SQL3 = SQL3 + "ORDER BY TechnologyTopics.date DESC"
%>


Men sen tycker jag att det ser lite udda ut när du väljer dessa 2 kopplingar:

* TechnologyTopics.catId=TechTopicCategories.techCatId
* TechnologyTopics.catId=SubTechCategories.techCatId

Jag vet inte hur dina tabeller ser ut, men det känns som om du borde ha någon typ TechnologyTopics.subCatId, eller nåt sånt.

Jag skrev om din select-sats att använda JOIN nedan.
SELECT *
FROM TechnologyTopics t INNER JOIN TechTopicCategories c ON t.catId=c.techCatId
         INNER JOIN SubTechCategories s ON t.catId=s.techCatId
WHERE 
         c.techCategory='word' OR 
         s.subCategory='word' OR 
         t.title Like '% word%' OR
         t.text Like '% word%'
ORDER BY t.date DESC


Hoppas något av det hjälper.

// MvH Björne


Svara

Sv:Hämtar inte hela texten från databasen...

Postades av 2005-06-04 11:38:34 - Cecilia Ekengren

Jösses!! Vilken tur att du påpekade att det var nåt konstigt med id:na jag jämförde... Det visade sig att jag glömt lägga in id:t för subkategorierna som en sekundärnyckel i topicstabellen... *gulp* Därav problemet med flera träffar för samma post...

Din inner join får jag syntaxfel på, men mitt förslag som du la in parenteser i funkar utmärkt! Eller kommer att göra när jag fixat relationerna... Texterna kapas ner till 255 tecken om man använder DISTINCT, men när jag fixar relationerna så antar jag att jag inte behöver använda DISTINCT.

Tack för hjälpen!!


//Cicci


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 782
27 960
271 761
1 563
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies