Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
delphi mssql UPDATE
#1
with ADOQuery1 do
begin
 Close;
 SQL.Clear;
 SQL.Add('UPDATE GİRİŞ SET KULLANICIADI ='''+Edit3.Text+''' AND ŞİFRE='''+Edit4.text+'''   WHERE KULLANICIADI ='''+Edit1.Text+''' and ŞİFRE='''+Edit2.text+''' ');
 ExecSQL;

end;
 hata alıyorum yardım edermisiniz yapmak istediğim kullanıcıadı ve şifre güncellemek
Cevapla
#2
Şifre kolonu türkçe karakterlerle tanımlamışsınız.
SQL de şçöüğı harfleri içeremez
Cevapla
#3
3 tane ''' kullanmışsınız.. 4 olması gerekiyor.. Fakat onun yerine QuotedStr() kullanın

SQL.Add('UPDATE GİRİŞ SET KULLANICIADI ='+QuotedStr(Edit3.Text)+' AND ŞİFRE='+QuotedStr(Edit4.text)+' WHERE KULLANICIADI ='+QuotedStr(Edit1.Text)+' and ŞİFRE='+QuotedStr(Edit2.text));
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#4
(10-05-2022, Saat: 21:23)mcuyan Adlı Kullanıcıdan Alıntı: 3 tane ''' kullanmışsınız.. 4 olması gerekiyor.. Fakat onun yerine QuotedStr() kullanın

SQL.Add('UPDATE GİRİŞ SET KULLANICIADI ='+QuotedStr(Edit3.Text)+' AND ŞİFRE='+QuotedStr(Edit4.text)+'   WHERE KULLANICIADI ='+QuotedStr(Edit1.Text)+' and ŞİFRE='+QuotedStr(Edit2.text));

ıncorrect syntax near the ketword'and'
hatası alıyorum neden olabilir
Cevapla
#5
(11-05-2022, Saat: 08:44)yunusemre Adlı Kullanıcıdan Alıntı:
(10-05-2022, Saat: 21:23)mcuyan Adlı Kullanıcıdan Alıntı: 3 tane ''' kullanmışsınız.. 4 olması gerekiyor.. Fakat onun yerine QuotedStr() kullanın

SQL.Add('UPDATE GİRİŞ SET KULLANICIADI ='+QuotedStr(Edit3.Text)+' AND ŞİFRE='+QuotedStr(Edit4.text)+'   WHERE KULLANICIADI ='+QuotedStr(Edit1.Text)+' and ŞİFRE='+QuotedStr(Edit2.text));

ıncorrect syntax near the ketword'and'
hatası alıyorum neden olabilir


bu arada  and  değil ,  virgül koyun 

='+QuotedStr(Edit3.Text)+' AND ŞİFRE='+QuotedStr(Edit4.text)+' 
Sorsaydı Bilirdi Sormuyor ki Bilsin.
Bilseydi Sorardı Bilmiyor ki Sorsun. 
Cevapla
#6
(11-05-2022, Saat: 08:55)bydelphi Adlı Kullanıcıdan Alıntı:
(11-05-2022, Saat: 08:44)yunusemre Adlı Kullanıcıdan Alıntı: ıncorrect syntax near the ketword'and'
hatası alıyorum neden olabilir


bu arada  and  değil ,  virgül koyun 

='+QuotedStr(Edit3.Text)+' AND ŞİFRE='+QuotedStr(Edit4.text)+' 

evet hakısınız gözümden kaçmış teşekkürler
Cevapla
#7
evet AND i ben de kaçırmışım..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#8
Lightbulb 
ya da....
parametre kullanılır. Böylece tırnak işareti karmaşasından kurtulunur.


   with ADOQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('UPDATE GİRİŞ SET KULLANICIADI =:kullanici , ŞİFRE=:sifre  WHERE KULLANICIADI =:kullanici2 and ŞİFRE=:sifre2');
   Parameters.ParamByName('kullanici').Value:=Edit3.Text;
   Parameters.ParamByName('sifre').Value:=Edit4.Text;
   Parameters.ParamByName('kullanici2').Value:=Edit1.Text;
   Parameters.ParamByName('sifre2').Value:=Edit2.Text;
   ExecSQL;
  end;
Cevapla
#9
(16-05-2022, Saat: 09:17)forumcuali Adlı Kullanıcıdan Alıntı: ya da....
parametre kullanılır. Böylece tırnak işareti karmaşasından kurtulunur.


   with ADOQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('UPDATE GİRİŞ SET KULLANICIADI =:kullanici AND ŞİFRE=:sifre  WHERE KULLANICIADI =:kullanici2 and ŞİFRE=:sifre2');
   Parameters.ParamByName('kullanici'):=Edit3.Text;
   Parameters.ParamByName('sifre'):=Edit4.Text;
   Parameters.ParamByName('kullanici2'):=Edit1.Text;
   Parameters.ParamByName('sifre2'):=Edit2.Text;
   ExecSQL;
  end;


Evet parametre kullanımında tırnakla uğraşmazsın çok doğru.
Ancak bu kod biraz eksik. ParamByName  TParameter tipindedir. sanırım unuttunuz  Smile
.Value kullanılarak şöyle yapılabilir;
Parameters.ParamByName('kullanici').Value:=  Edit1.Text; 
Parameters[0].Value := Edit1.Text; 
birde burada virgül yerine AND kalmış ;
  UPDATE GİRİŞ SET KULLANICIADI =:kullanici AND ŞİFRE=:sifre    
Sorsaydı Bilirdi Sormuyor ki Bilsin.
Bilseydi Sorardı Bilmiyor ki Sorsun. 
Cevapla
#10
(16-05-2022, Saat: 14:12)bydelphi Adlı Kullanıcıdan Alıntı:
(16-05-2022, Saat: 09:17)forumcuali Adlı Kullanıcıdan Alıntı: ya da....
parametre kullanılır. Böylece tırnak işareti karmaşasından kurtulunur.


   with ADOQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('UPDATE GİRİŞ SET KULLANICIADI =:kullanici AND ŞİFRE=:sifre  WHERE KULLANICIADI =:kullanici2 and ŞİFRE=:sifre2');
   Parameters.ParamByName('kullanici'):=Edit3.Text;
   Parameters.ParamByName('sifre'):=Edit4.Text;
   Parameters.ParamByName('kullanici2'):=Edit1.Text;
   Parameters.ParamByName('sifre2'):=Edit2.Text;
   ExecSQL;
  end;


Evet parametre kullanımında tırnakla uğraşmazsın çok doğru.
Ancak bu kod biraz eksik. ParamByName  TParameter tipindedir. sanırım unuttunuz  Smile
.Value kullanılarak şöyle yapılabilir;
Parameters.ParamByName('kullanici').Value:=  Edit1.Text; 
Parameters[0].Value := Edit1.Text; 
birde burada virgül yerine AND kalmış ;
  UPDATE GİRİŞ SET KULLANICIADI =:kullanici AND ŞİFRE=:sifre    

çok doğru  tırnakları atalım derken 'VALUE' unutmuşuz ... yazarkende bişeyler eksik gelmiştiAngel
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  delphi 10.4 deutsch1988 0 71 18-04-2024, Saat: 11:46
Son Yorum: deutsch1988
  Delphi virus gibi deutsch1988 11 494 12-04-2024, Saat: 17:36
Son Yorum: deutsch1988
  Delphi 7 Unrar mcuyan 12 675 19-03-2024, Saat: 10:30
Son Yorum: frmman
Lightbulb Delphi 7zip Password lü Dosya Sıkıştırma ve Açma + Bonus RAR5 Desteği frmman 6 322 16-03-2024, Saat: 17:55
Son Yorum: delphi.developer
  delphi 12 ile TFileStream çalışmıyor aegean 5 527 05-03-2024, Saat: 22:23
Son Yorum: aegean



Konuyu Okuyanlar: 1 Ziyaretçi