gogoturk adlı üyeden alıntı:
mesajı görüntüle
Database Class
23
●1.695
- 27-04-2009, 13:33:07Üyeliği durdurulduselect top yerine ben select * from tablo limit 10 gibi gönderecegim o metin işleme yaparak bu sql i select top 10 from tablo gibi değiştirecek demek istedigimiz ohuseyin66 adlı üyeden alıntı: mesajı görüntüle
sonunda hocam iki saattir mssql kullanırken limit gönderirsem ne olur yaziyoruz mesajı okumadan cevap yaziyorsunuz
aktif olarak bu class kullanılacaksa üzerinde düzenlemelere ihtiyaci var demek istedigimiz. ama classa geçiş açısından güzel bir çalışma ve teşvik olmuş. paylaşan arkadaşa teşekkürler, +rep vermiştim zaten - 27-04-2009, 13:55:45Üyeliği durdurulduHocam haklısınız da Öyle karmaşık bir kontrol sistemi oluşturmak gerekir ki Her bir SQL komutu için farklı ise 2 tane emulasyon oluşturmak demektir. Bu da 6 tane Çevirim fonksiyonu yazmak lazım. Yazılan çevirim fonksiyonları da ne kadar sağlıklı olur bilinmez. Sonuçta Bu tür klass ları kullananlar kendi kullandıkları veritabanlarında nasıl bir komut göndereceklerini bilmeleri gerekir. Zaten uyumsuz bir komut gidince Syntax hatası alıp düzeltecektir.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Mesela ben uzun zamandır Ms Sql kullanmıyorum. Komutları bile karıştırmam söz konusu. Hata verince neden çaktığını hemen farkediyorum. Neyse Sonuçta arkadaş kullandığı Class ı bizimle paylaşmış. - 27-04-2009, 14:07:59Üyeliği durduruldu
<?php require('gk_classes.php'); $baglan = new gokmen_data; $baglan->system = "MySQL"; $baglan->connect("localhost","user","password","database"); $row = $baglan->query_wiev("SELECT * FROM tablo"); ?>Burada önce kullanılacak olan sistem seçiliyor, sonra da veri çekerken o sisteme uygun sql komutu yazılıyo. Yani MsSQL kullanıyorsanız
<?php require('gk_classes.php'); $baglan = new gokmen_data; $baglan->system = "MsSQL"; $baglan->connect("localhost","user","password","database"); $row = $baglan->query_wiev("select * from ( select top ......"); ?>şeklinde yazacaksınız, Hem system i değiştireceksiniz hem de sorgunuzu.
Sorgunun systeme uygunluğunu zaten Syntax kontrolünde ortaya çıkıyor. Bunu sormanız sizce doğru mu? Ben de size sorayım hocam İncir isteyen müşteriye siz Ayva verirseniz ne olur?
- 27-04-2009, 14:23:51Üyeliği durdurulduinciri ayvayi birakinda hocam hem sql i hemde baglanti tipini değiştirecek kendimi kasacaksam class kullanmamın ne anlamı kaldı onu söyleyinhuseyin66 adlı üyeden alıntı: mesajı görüntüle
.
bu tarz uygumalarda amaç tek kodla her iki veritabanınıda desteklemektedir. (örnek şuan calistigim belediye otomasyonu yazdigimiz kurumda centura dilinde yazilan programda ki benzer fonksiyon hem oracle hem mssql destekliyor. buna benzer ama aradaki farklılıkları düzelten bir bir fonksiyon var program içerisinde . mesela mssql de substring şeklindeyke fonskiyon oracle da substr şeklinde. bu gibi kullanılan temel fonksiyonları uyum açısından değiştiriyor. son kullanıcı olarak parametre dosyasından sadece 1 satır değiştiriyorsunuz )
Sonuç armut ile elmayla ugrasmak yerine class yapısına geçme açısından güzel bir örnek olmuş. ama sadece baglanti yada query calistiran fonksiyonu değiştirmeyle iş bitmiyor bu kısma değinmek istedim sadece - 27-04-2009, 14:56:54Üyeliği durdurulduEğer kullanıcıya yönelik bir çalışma hazır bir uygula yaparsanız class içinde bu tür synax değişikliği yapmak yerine her bir sistem için şartlı sql oluşturursunuz. Sonuçta tercih meselesi. Yapılan çalışmalarda genellikle hızlı çalışması ve yazılan kodun diğer kişeler tarafından kolayca anlaşılır olması ödemlidir. Class ların en önemli özelliği ise büyük projelerde değişken ve fonksiyonların nereye ait olduğu ve ait olduğu bölüme göre nasıl davranacağı açısından çok yararlıdır.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
