Merhaba arkadaşlar
WebServerAplication yazmaya çalışıyorum.
Veritabanı olarak Postgresql kullanıyorum.
Veritabanında oluşturduğum procedure daki tarih alanı kayıt hatası alıyorum.
Kodlarım Şöyle
Postgresql Veritabanındaki procedure şöyle;
CREATE OR REPLACE PROCEDURE "islojistik"."yukilanekle2"("_tarih" date)
AS $BODY$BEGIN
-- Routine body goes here...
INSERT INTO "islojistik"."isler"(tarih)
* *VALUES(_tarih);
END$BODY$
*LANGUAGE plpgsql
Client kodlarım
procedure TYukilanEkleF.KaydetClick(Sender: TObject);
var
*JSON: TJSONObject;
*parametre:string;
begin
*JSON := TJSONObject.Create;
*JSON.AddPair(TJSONPair.Create('tarih', FormatDateTime('YYYY-MM-DD',date)));
*AnaF.RESTAyar('YukilanEkle', JSON.ToJSON); //Burda Servera veri gönderiyoruz
Server kodlarım
procedure TWebModule1.WebModule1YukilanEkleAction(Sender: TObject;
*Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
*GelenJSON:TJSONObject;
*tarih:string;
begin
if Request.MethodTypeTMethodType.mtPost then
*Handled:=False
else
begin
Response.ContentType:='text/html; charset=UTF8';
//GelenJSON yapısı
{
* "tarih":"2021-01-20",
}
GelenJSON:=TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(Request.Content),0) as TJSONObject;
*tarih * * *:=GelenJSON.P['tarih'].Value;
FDConnection1.Connected:=True;
try
FDStoredProc1.Close;
FDStoredProc1.StoredProcName:='yukilanekle2';
FDStoredProc1.Prepare;
FDStoredProc1.Params[0].AsString:=tarih;
FDStoredProc1.Open;
Except
*Response.Content:='0';//hata oluştur
*FDStoredProc1.Close;
*FDConnection1.Connected:=False;
end;
end;
FDStoredProc1.Params[0].AsString:=tarih;
Gelen veriyi burda hangi formata gönüştürerek veritabanına göndermeliyiz?
WebServerAplication yazmaya çalışıyorum.
Veritabanı olarak Postgresql kullanıyorum.
Veritabanında oluşturduğum procedure daki tarih alanı kayıt hatası alıyorum.
Kodlarım Şöyle
Postgresql Veritabanındaki procedure şöyle;
CREATE OR REPLACE PROCEDURE "islojistik"."yukilanekle2"("_tarih" date)
AS $BODY$BEGIN
-- Routine body goes here...
INSERT INTO "islojistik"."isler"(tarih)
* *VALUES(_tarih);
END$BODY$
*LANGUAGE plpgsql
Client kodlarım
procedure TYukilanEkleF.KaydetClick(Sender: TObject);
var
*JSON: TJSONObject;
*parametre:string;
begin
*JSON := TJSONObject.Create;
*JSON.AddPair(TJSONPair.Create('tarih', FormatDateTime('YYYY-MM-DD',date)));
*AnaF.RESTAyar('YukilanEkle', JSON.ToJSON); //Burda Servera veri gönderiyoruz
Server kodlarım
procedure TWebModule1.WebModule1YukilanEkleAction(Sender: TObject;
*Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
*GelenJSON:TJSONObject;
*tarih:string;
begin
if Request.MethodTypeTMethodType.mtPost then
*Handled:=False
else
begin
Response.ContentType:='text/html; charset=UTF8';
//GelenJSON yapısı
{
* "tarih":"2021-01-20",
}
GelenJSON:=TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(Request.Content),0) as TJSONObject;
*tarih * * *:=GelenJSON.P['tarih'].Value;
FDConnection1.Connected:=True;
try
FDStoredProc1.Close;
FDStoredProc1.StoredProcName:='yukilanekle2';
FDStoredProc1.Prepare;
FDStoredProc1.Params[0].AsString:=tarih;
FDStoredProc1.Open;
Except
*Response.Content:='0';//hata oluştur
*FDStoredProc1.Close;
*FDConnection1.Connected:=False;
end;
end;
FDStoredProc1.Params[0].AsString:=tarih;
Gelen veriyi burda hangi formata gönüştürerek veritabanına göndermeliyiz?