[]

Özelleştirilmiş SQL sorgusuna göre çekilen veriyi almak

Selamlar,

Sorum AspNet MVC hakkında.

kapsamlı bir dashboard'ımız var. biz bir de sql komut alanı koymak istiyoruz. kullanıcı girsin istediği sql sorgusunu alana yazsın, server da bize o işin çıktısını versin.

sorgu yapacak kullanıcının hangi tablodaki hangi veriyi, kiminle birleştirip alacağını bilmediğimize göre nasıl bir yöntem izlemeliyiz?

 
basitlestirilmis bir "query language" yapmaniz gerekecek mesela xQL diye adlandirabilirsiniz. ön tarafta kullanici bu xQL ile "select veriler from veri_tablosu" diye query yazar bu bilgiyi servere gönderir, sever bu queryi parse yapar ve sizin arka tarafta kullandiniz daha karmasik tablo yapisina göre gercek daha karmasik ve bircok tabloyu birlestiren sql sorgusunu olusturur.

bu yaklasimi kullanan büyük araclar var mesela "Jira" kullaniciya kendi arama sorgularini basitlestirilmis bir kendilerine has sorgu dili olan JQL ile yapmalarini saglilyorlar. arka tarafta bu JQL parse edilerek SQL e cevriliyor. bu sayade öndeki kullanici arka taraftaki tablo yapisina ulasmamis oluyor, ama izin verilen ölcüde bir sorgu yazabiliyor. confluence.atlassian.com
  • emrahday  (21.11.16 19:04:06 ~ 19:05:49) 
dbnin önüne graphql koyabilirsiniz kullanıcıya onu sorgulatabilirsiniz lakin çok tehlikeli işler bunlar. Asıl ihtiyacı söylerseniz belki yardımcı olabilirim.


  • ougkour  (21.11.16 20:33:38) 
tehlikeli. ancak burası sadece yönetici vb gibi kişiler tarafından görülecek. suistimal edilmeyecek ya da kullanıcı orada delete işlemleri yapmayacak. bunu kontrol etmek zorunda değiliz, kullanacak kişiler bilinçli.

asıl ihtiyacımız dashboard'ı kullanıcının kendisinin özelleştirmesini sağlamak. biz şunu çek, bunu getir diye metotlar yazmaktansa kullanıcı sorgusunu yazsın, istediği veriyi getirsin ekranına.
  • dahinnotha  (22.11.16 11:44:08 ~ 11:45:10) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.