|
|
#1 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
search (!) bilinmeyen hata...
ASP de hazırlanmış bir search modülümüz var. pws de oldukça güzel çalışıp doğru neticeler veriyor.
ancak web'e atılıp çalıştırıldığında; Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Cannot include Memo, OLE, or Hyperlink Object when you select unique values (sayfalar.ozet). /search/search.ASP, line 18 hatası veriyor. ASP kodları ise; ... 15..... 16..... 17. sql_text="select distinct(sayfalar.sayfa_no),sayfalar.sayfa_ismi,sa yfalar.ozet from sayfalar, anahtar where sayfalar.sayfa_no=anahtar.sayfa_no and (ucase(anahtarlar)) like '%"&kelime&"%'" 18. set aramaseti=sefer2.execute(sql_text) 19.... 20... şeklinde gidiyor. sorun ne anlayamadık? sizce ? not: sayfalar daha önce HTML formatında hazırlandığından ve oldukça geniş içerik oluşurmasından, tümünü ASP'ye geçişinin uzun zaman alacağından dolayı tüm site için, anahtar kelime ve kısa açıklaması olan bir index database'i kurulup, arama bunun içinden yapılmaktadır. sonuçlara göre çıkan değerlere göre yönlendirmesi gerekli yerlere yapılmaktadır. bu sistem pws içerisinde çalışıyor. sorun web üzerinde oluşuyor sadece...
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 125
|
günaydın
bu tür durumlarda yapılması gereken ve sorunu %100 çözecek tek bişey var. Bu SQL ile database içinde bir sorgu oluşturup, ASP sayfası ile (aynı bir tabloya başvurur gibi) bu sorguya başvurmak
__________________
sevgiSaygi = true; |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
günaydın
yani? bir örnek ile açıklayabilirmisin?...
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 125
|
arma için
örneği tam anlayamadım ama databasede kalime aratmak gibi bişeyse ihtiyacın...
SQL ifade yalın olsa daha iyi olur (anlayamadım ya ) ) aratmayı ASP sayfasında yapmak gerek.sql_text = "SELECT *FROM AnaTablo" set aramaseti=sefer2.execute(sql_text) ArananFirma = "Sabancı Holding" For a = 1 to aramaseti.RecordCount If aramaseti("FirmaAdi") = ArananFirma Then Response.Write aramaseti("FirmaAdi") & "<br>" ' firmayi yaz End If Next bu örnek getrows metoduyla yapılırsa gayet de performanslı oluyor
__________________
sevgiSaygi = true; |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 125
|
ya da
dediğim gibi sorunda belirttiğin SQL ifaden ile ile database içinde bir sorgu oluştur ve bu sorguya aşağıdaki gibi başvur
sql_text = "SELECT *FROM Sorgum WHERE(SorgumKelime = '" & kelime & "')"
__________________
sevgiSaygi = true; |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
evet database içinde arama yapmak istiyoruz. ancak mesela sear yazıldığında serach sonucunu da vermeli. like ile yapıyoruz bunu.
veritabanımız iki tablodan oluşuyor. birisi anahtar kelimeleri ve sayfa numaralarını tutuyor. ikinci tablo ise sayfa numaraları, hangi sayfada içerik olduğu ve kısa bilgi şeklinde. sayfa numaraları birbiri ile ilişkili. sonuç olarak birinci tablodan kelime arayıp bulduğunda o kayda ait sayfa numarası sayesinde ikinci tablodan kayıt seçip görüntülenmesi gerekiyor. ve bunu zaten pws de yapıyor. sorun web üserindeyken ortaya çıkıyor.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#8 (permalink) |
|
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 125
|
buna benzer
sql_text = "SELECT sayfalar.ID, sayfalar.anahtarkelime, anahtar.FalanAlan, sayfalar.Filanalan
FROM sayfalar INNER JOIN anahtar ON sayfalar.ID = anahtar.ID" set aramaseti=sefer2.execute(sql_text) kelime = "sear" For a = 1 to aramaseti.RecordCount If InStr(aramaseti("arancakAlan"), kelime) > 0 Then Response.Write aramaseti("Alan") & "<br>" ' firmayi yaz End If Next SQL 2 tablonu birleştiriyor. sen kendine göre düzeltirsin tabii. for ise ilk kayıttan son kayda kadar, IF ise aranacak alanda kelimeyi arıyor. yani kelimenin pozisyonun numerik değerini sorguluyor. 0'dan büyükse kelime, aranan stringin içinde demektir ben arama işlemlerini hep böyle yapıyorum
__________________
sevgiSaygi = true; |
|
|
|
|
|
#9 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
sağol. denemeye değer. olmadı oldukça uzun yol olan plan b yi uygulayacağız artık
anahtardan seç, diziye ata, diziye göre sayfalar tablosundan seç plan be şimdilik bu. ama oldukça kaynak harcayacak bir yol olacak. sayfa sayısı da fazla olunca bir de ![]() sağol. sonuçları bildiririm...
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
Zoque'a hoşgeldiniz!