FireDac - HTTP/1.1 500 Internal Server Error

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
bilrax
Üye
Mesajlar: 31
Kayıt: 17 Nis 2016 01:29

FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen bilrax »

Kod: Tümünü seç

        
        .......
        // db deki değişken isimleri (isim:str, yas:int)
        
        Reg_isim:='UNAL';
        Reg_yas:=33;
        
        FDQuery.SQL.Add('INSERT INTO veritabani(isim, yas) ');
        FDQuery.SQL.Add('VALUES(:isim, :yas');

        FDQuery.ParamByName('isim').AsString:= Reg_isim;
        FDQuery.ParamByName('yas').AsInteger:= Reg_yas;

        FDQuery.ExecSQL;   // hatanın geldiği satır
        
        ....
        
"HTTP/1.1 500 Internal Server Error" hatası alıyorum

DataSnap Rest server FireDac ile MYSQL bağlantısını yapıp verilere ulaşıp listeletebiliyorum falakat iş insert yapmaya gelince bir hatayla karşılaşmaya başladım.

listeleme yaptırırkende aynı hatayı almış libmysql.dll yolunu tanımlayınca düzelmişti.

Şimdi aynı hatayı ExecSQL i çağırdığımda almaya başladım ve çıkış yolu bulamadım.

Fikri olan arkadaşların msjlarını bekliyorum.. iyi çalışmalar..
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen brs »

Kod: Tümünü seç

  with Form1.FDQueryUser do
  begin
    SQL.Clear;
    SQL.Add('Select * From User Order By ADISOYADI ASC');
    SQL.Add('Limit 0,5000');
    Prepared := True;
    Open;
    begin
      if Not IsEmpty then // Kayıt varsa
      begin

Kod: Tümünü seç

  with Form1.FDQueryUser do
  begin
    SQL.Clear;
    SQL.Add('Insert Into User(ADISOYADI, TELEFONNO, KAYITTARIH)');
    SQL.Add('Values (:AD, :TN, :KT)');
    ParamByName('AD').Value := 'Edit1.text';
    ParamByName('TN').Value := 'Edit2.text'';
    ParamByName('KT').Value := Date;
    ExecSQL;
    Free;
  end;
  Active := False;
  Active := True;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
bilrax
Üye
Mesajlar: 31
Kayıt: 17 Nis 2016 01:29

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen bilrax »

Kod: Tümünü seç

  
  with FDQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Insert Into veritabani(isim, yas)');
    SQL.Add('Values (:isim, :yas)');
    ParamByName('isim').Value  := Reg_isim;
    ParamByName('yas').Value   := Reg_yas;
    ExecSQL;
    // Free;
  end;
  
bu şekilde çalıştı ;)

üstadım 3 gündür şunun için kıvrandığıma inanamıyorum :D çok teşekkürler..

izlediğim videoda adam asString ve asInteger yöntemleriyle yapmış. hala neden hata verdiğini çok iyi anlayamadım. varmıdır basit bi açıklaması üsdatlar
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen brs »

bilrax yazdı:
bu şekilde çalıştı ;)

üstadım 3 gündür şunun için kıvrandığıma inanamıyorum :D çok teşekkürler..

izlediğim videoda adam asString ve asInteger yöntemleriyle yapmış. hala neden hata verdiğini çok iyi anlayamadım. varmıdır basit bi açıklaması üsdatlar


asString ve asInteger ne gibi işlemlerde hata alıyorsunuz?
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
bilrax
Üye
Mesajlar: 31
Kayıt: 17 Nis 2016 01:29

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen bilrax »

brs yazdı: asString ve asInteger ne gibi işlemlerde hata alıyorsunuz?
yukarda bahsettiğim hatayı düzeltmek için sadece asString ve asInteger yerine Value yaptım ve düzeldi.. insert metodu için kullanmıştım yukardaki kodda
bilrax
Üye
Mesajlar: 31
Kayıt: 17 Nis 2016 01:29

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen bilrax »

Kod: Tümünü seç

 
 
 insert işlemleri....
     
      FDQuery.ExecSQL;

     if FDQuery.RowsAffected > 0 then
     Begin

       FDQuery.Close;
       FDQuery.SQL.Clear;
       FDQuery.SQL.Add('SELECT IDENT_CURRENT(''veritabani'') AS ID ');
      
       FDQuery.Open();   // ve yine aynı hata burda oluyor
       
ve yine hata..

son yapılan işlemin id sini almak istemiştim ve yine olan oldu

bu hata peşimi hiç bırakmayacak sanırım.. bu seferde open yaparken yakaladı.. mysql arka arkaya yapılan işlemlere izin vermiyor diye bi şey okudum ama çözümde bulamadım malesef
bilrax
Üye
Mesajlar: 31
Kayıt: 17 Nis 2016 01:29

Re: FireDac - HTTP/1.1 500 Internal Server Error

Mesaj gönderen bilrax »

Veritabanı konusunda malesef fazla bir tecrübem yok ama çözüm MSSQL kullanarak oldu..

kullandığım veritabanı tipini MYSQL den MSSQL e çevirdim ve bu sorunuda aşmış bulundum :D

MSSQL için yazılmış bir komut MYSQL de çalışmıyor demekki bunuda öğrenmiş oldum
Cevapla