Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Web servis uygulması ile Json veri ile update insert select ?
#1
Merhaba;
   Youtube eğitim videoları ile bir functiondan veri isteyip client alma işini yapabildim. Ancak yine kod ile update , insert yada qury içerisindeki veriyi clinete göndremedim.
   Diğer videolara datasnap üzerinden veri gönderme konusunda bilgi mevcut ama web server application ile ilgili bir bilgi bulamadım.

unction GetArsSelectJSON(strSelectJSON: String; UniSP: TUniStoredProc): String;
var
 I: integer;
 jsonobj: TJSONObject;
 jsonArr: TJSONArray;
 jsonWriter: tJsonObjectWriter;

begin
 try
   jsonobj := TJSONObject.ParseJSONValue
     (TEncoding.UTF8.GetBytes(strSelectJSON), 0) as TJSONObject;
   jsonArr := jsonobj.Pairs[0].JsonValue as TJSONArray;

   with UniSP do
   begin
     StoredProcname := jsonobj.Pairs[0].JsonString.Value;
     form1.RichEdit1.Lines.Add('StoredProcName'+StoredProcName);
     PrepareSQL;
     form1.RichEdit1.Lines.Add('  paramcount'+ParamCount.ToString);
     if ParamCount > 0 then
     begin
       for I := 0 to jsonArr.Count - 1 do
       begin
         Params[i].AsString := jsonArr.Items[i].GetValue<string>
           ('Parametre' + (i + 1).ToString);
       form1.RichEdit1.Lines.Add( ('Parametre' + (i + 1).ToString)+Params[i].AsString);
       end;
     end;

     Execute;
     jsonWriter := tJsonObjectWriter.Create;
     jsonWriter.WriteStartobject;
     // Tablo kayas dizisini oluşturuyoruz
           form1.RichEdit1.Lines.Add(StoredProcname);
     jsonWriter.WritePropertyname(StoredProcname);
     // Dataset ise sonuc yok ise; RecordCount:=0)
     jsonWriter.WriteStartobject;
     jsonWriter.WritePropertyname('Kayit sayisi');
     form1.RichEdit1.Lines.Add('  ');
     form1.RichEdit1.Lines.Add('recortcount '+Recordcount.ToString);
     if Recordcount > 0 then
       jsonWriter.WriteValue(Recordcount)
     else
       jsonWriter.WriteValue(0);
     jsonWriter.writeEndObject;

     jsonWriter.WritePropertyname('Dataset');
     jsonWriter.WriteStartArray;

     while not eof do
     begin
       jsonWriter.WriteStartobject;

       for I := 0 to FieldCount - 1 do
       begin
         jsonWriter.WritePropertyname(Fields[i].DisplayName);
         jsonWriter.WriteValue(Fields[i].AsString);
       end;

       jsonWriter.writeEndObject;
       Next;
     end;
     jsonWriter.WriteEndarray;
   end;

   Result := jsonWriter.JSON.ToJson;

 finally
   jsonWriter.DisposeOf;
   UniSP.close;
 end;

bu kod ile server weri tabanıdan veri alıp json olarak client e ilitiyor burada iş function üzerinden yapılıyor query den veri almak istediğimizde netür bir değişiklik olamalı ??

client den update ve insert için pek bir kaynak bulamadım?? elinde bu konu ile ilgili örnek kod yada proje olan var mı ??
Cevapla
#2
Öncelikle Web Servis/REST yapısının çalışma prensibini öğrenmeniz gerekiyor. 
Bu amaçla biraz araştırma yaparsanız, çok faydası olacağını düşünüyorum.
Neden bunu tavsiye ediyorum; çünkü verinin ne yapılası gerektiğini HEADER bildirir.

Metodu çağırmadan önce HEADER set edilir. Burada yapacağınız işlemin ne olduğunu sunucunun ne yapması gerektiğini bildirirsiniz. 
Örneğin, Method Post, Get, Delete gibi. (şu linkten daha detaylı bilgiye ulaşabilirsiniz: Using HTTP Methods for RESTful Services)

Dataset in bütünü veya bir bölümü üzerinde işlem yapıp, yapmayacağı ise URL Segmentlerle bildirilir. 
Örneğin, 
GET /login
GET /account
GET /account/{accountNo}
GET /account/{accountNo}/transactions
POST /account/{accountNo}/transactions
DELETE /account/{accountNo}

GET ile başlayan metodlar, kayıt/sonuç/dataset almak için kullanılır.
POST ile insert, update vb. işlem gerçekleştirilir.
DELETE ile kayıt silinir.

/BirAlias : genellikle tablo veya iş adıdır.
/Biralias/{Id} : tablodaki bu id ile ile işlem yap demek. {} parantezle URL Segmenttir.

Bir örnek:
URL: http://BaseURL/account/3
olsun,

GET ile işlem yaparsanız, 3 nolu id ye sahip kullanıcı bilgisini getirecektir. 
URL aynı olmak koşulu ile yanlızca metodu DELETE olarak değiştirirseniz ne olur?
O zaman da, 3 nolu kullanıcıyı siler. 

Umarım ilk başta önerimin ne kadar haklı olduğunu şimdi daha iyi anlamışsınızdır.
Begin : = end / 2;
Cevapla
#3
(17-03-2022, Saat: 14:03)RAD Coder Adlı Kullanıcıdan Alıntı: Öncelikle Web Servis/REST yapısının çalışma prensibini öğrenmeniz gerekiyor. 
Bu amaçla biraz araştırma yaparsanız, çok faydası olacağını düşünüyorum.
Neden bunu tavsiye ediyorum; çünkü verinin ne yapılası gerektiğini HEADER bildirir.

Metodu çağırmadan önce HEADER set edilir. Burada yapacağınız işlemin ne olduğunu sunucunun ne yapması gerektiğini bildirirsiniz. 
Örneğin, Method Post, Get, Delete gibi. (şu linkten daha detaylı bilgiye ulaşabilirsiniz: Using HTTP Methods for RESTful Services)

Dataset in bütünü veya bir bölümü üzerinde işlem yapıp, yapmayacağı ise URL Segmentlerle bildirilir. 
Örneğin, 
GET /login
GET /account
GET /account/{accountNo}
GET /account/{accountNo}/transactions
POST /account/{accountNo}/transactions
DELETE /account/{accountNo}

GET ile başlayan metodlar, kayıt/sonuç/dataset almak için kullanılır.
POST ile insert, update vb. işlem gerçekleştirilir.
DELETE ile kayıt silinir.

/BirAlias : genellikle tablo veya iş adıdır.
/Biralias/{Id} : tablodaki bu id ile ile işlem yap demek. {} parantezle URL Segmenttir.

Bir örnek:
URL: http://BaseURL/account/3
olsun,

GET ile işlem yaparsanız, 3 nolu id ye sahip kullanıcı bilgisini getirecektir. 
URL aynı olmak koşulu ile yanlızca metodu DELETE olarak değiştirirseniz ne olur?
O zaman da, 3 nolu kullanıcıyı siler. 

Umarım ilk başta önerimin ne kadar haklı olduğunu şimdi daha iyi anlamışsınızdır.

Merhaba;

    Konu hakkında ki desteğiniz için teşekkür ederim. Aslında benimde amacım yapının mantığını bütünüyle öğrenebilmek. Ama henüz başlangıç aşamasında olduğum için daha neyi arayacağımı bile kestiremedim. Videoda kitapdan bahsediliyor onu temin etmeyi düşünüyorum ama bu süreçte bekleyemedim birşeyler yapmak istedim..
Cevapla
#4
(17-03-2022, Saat: 15:22)diseqc Adlı Kullanıcıdan Alıntı:
(17-03-2022, Saat: 14:03)RAD Coder Adlı Kullanıcıdan Alıntı: Öncelikle Web Servis/REST yapısının çalışma prensibini öğrenmeniz gerekiyor. 
Bu amaçla biraz araştırma yaparsanız, çok faydası olacağını düşünüyorum.
Neden bunu tavsiye ediyorum; çünkü verinin ne yapılası gerektiğini HEADER bildirir.

Metodu çağırmadan önce HEADER set edilir. Burada yapacağınız işlemin ne olduğunu sunucunun ne yapması gerektiğini bildirirsiniz. 
Örneğin, Method Post, Get, Delete gibi. (şu linkten daha detaylı bilgiye ulaşabilirsiniz: Using HTTP Methods for RESTful Services)

Dataset in bütünü veya bir bölümü üzerinde işlem yapıp, yapmayacağı ise URL Segmentlerle bildirilir. 
Örneğin, 
GET /login
GET /account
GET /account/{accountNo}
GET /account/{accountNo}/transactions
POST /account/{accountNo}/transactions
DELETE /account/{accountNo}

GET ile başlayan metodlar, kayıt/sonuç/dataset almak için kullanılır.
POST ile insert, update vb. işlem gerçekleştirilir.
DELETE ile kayıt silinir.

/BirAlias : genellikle tablo veya iş adıdır.
/Biralias/{Id} : tablodaki bu id ile ile işlem yap demek. {} parantezle URL Segmenttir.

Bir örnek:
URL: http://BaseURL/account/3
olsun,

GET ile işlem yaparsanız, 3 nolu id ye sahip kullanıcı bilgisini getirecektir. 
URL aynı olmak koşulu ile yanlızca metodu DELETE olarak değiştirirseniz ne olur?
O zaman da, 3 nolu kullanıcıyı siler. 

Umarım ilk başta önerimin ne kadar haklı olduğunu şimdi daha iyi anlamışsınızdır.

Merhaba;

    Konu hakkında ki desteğiniz için teşekkür ederim. Aslında benimde amacım yapının mantığını bütünüyle öğrenebilmek. Ama henüz başlangıç aşamasında olduğum için daha neyi arayacağımı bile kestiremedim. Videoda kitapdan bahsediliyor onu temin etmeyi düşünüyorum ama bu süreçte bekleyemedim birşeyler yapmak istedim..

Eklediğim videoyu izlemeni tavsiye ederim. Gerçekten çok açık bir şekilde anlatmış. 



Cevapla
#5
(17-03-2022, Saat: 16:34)codder71 Adlı Kullanıcıdan Alıntı:
(17-03-2022, Saat: 15:22)diseqc Adlı Kullanıcıdan Alıntı: Merhaba;

    Konu hakkında ki desteğiniz için teşekkür ederim. Aslında benimde amacım yapının mantığını bütünüyle öğrenebilmek. Ama henüz başlangıç aşamasında olduğum için daha neyi arayacağımı bile kestiremedim. Videoda kitapdan bahsediliyor onu temin etmeyi düşünüyorum ama bu süreçte bekleyemedim birşeyler yapmak istedim..

Eklediğim videoyu izlemeni tavsiye ederim. Gerçekten çok açık bir şekilde anlatmış. 





Video nokta atış olmuş tam olarak aradığım bir çok konuya açıklama getirmiş. Teşekkür ederim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CSV'ye veri aktarma Altıner 5 300 28-03-2024, Saat: 11:49
Son Yorum: Mr.X
  Web ipnut alanına veri girme Altıner 4 384 12-03-2024, Saat: 21:26
Son Yorum: Altıner
  Android Fmx uzak veri tabanından veri çekmek erkutolga 12 1.589 22-11-2023, Saat: 10:27
Son Yorum: Mesut
  Mobil App. ile MQTT brokera bağlanma ve Veri çekme yemre 3 881 27-04-2023, Saat: 13:56
Son Yorum: yemre
  Android veri gönderme hakankvk 3 823 29-12-2022, Saat: 18:40
Son Yorum: hakankvk



Konuyu Okuyanlar: 1 Ziyaretçi