merhaba ustalarım ilk zamanlarda mysql sorgusunda hiç bir sıkıntı yasamıyordum servere kuralı 15 gun oldu ama simdi programı donduruyor mecbur kapatmak zorunda kalıyorum.form ılk acılısta sorgu yapıyor acılıyor bıde her ısleme yapıldıgında sorgu yapıyor ama sımdı ılk programı acıyorum sorgu yapıyorum sorunsuz oluyor ama ısleme basladıgımda olmuyor.Öncelerı sağlam sekılde calısıyordu sımdı o calısan hiç dokunmadıgım işlemler bile donuyor kodlarda soyle..
MyQuery1.Close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('select * from kullanici where kullanici='+chr(39)+(edit1.Text)+chr(39)+'and sifre='+chr(39)+(edit2.Text)+chr(39));
MyQuery1.Open;
MyQuery1.Refresh;
sonucmysql:=MyQuery1.RecordCount;
if (sonucmysql>0) then else
begin
yardımcı olursanız cok sevinirim şimdiden tesekkur ederım
merhabalar ,
ilk akla gelen MySQL tablolarınıza uyguladığınız sorgularda WHERE kısmında kullandığınız alanların uygun "Index" lere sahip olmaması durumu, mesela sizin örneğinizde "kullanici" tablonuzda en azından "kullanici" isimli sahanızda bir index olmalı, hatta teknik mimari olarak kullanıcı tablosunda aynı ada sahip bir başka kullanıcının olmasının mümkün olmaması gerekliliğinden dolayı tablonuzda "kullanici" sahası direk Primary Key olabilir ve en iyi verimi Primary Key lerden alınırsınız. diğer bir önerim performansı etkilemez ama daha güvenli bir kullanım olduğu için Query lerde Parametre kullanmanız sizin örnek aşağıdaki gibi daha güvenli olacaktır
MyQuery1.Close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('select * from kullanici where kullanici=:kullanici and sifre=:sifre LIMIT 1');
MyQuery1.ParamByName('kullanici').AsString := Edit1.Text;
MyQuery1.ParamByName('sifre').AsString := Edit2.Text;
MyQuery1.Open;
if MyQuery1.isempty then
begin
vkamadan yazdı:merhabalar ,
ilk akla gelen MySQL tablolarınıza uyguladığınız sorgularda WHERE kısmında kullandığınız alanların uygun "Index" lere sahip olmaması durumu, mesela sizin örneğinizde "kullanici" tablonuzda en azından "kullanici" isimli sahanızda bir index olmalı, hatta teknik mimari olarak kullanıcı tablosunda aynı ada sahip bir başka kullanıcının olmasının mümkün olmaması gerekliliğinden dolayı tablonuzda "kullanici" sahası direk Primary Key olabilir ve en iyi verimi Primary Key lerden alınırsınız. diğer bir önerim performansı etkilemez ama daha güvenli bir kullanım olduğu için Query lerde Parametre kullanmanız sizin örnek aşağıdaki gibi daha güvenli olacaktır
MyQuery1.Close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('select * from kullanici where kullanici=:kullanici and sifre=:sifre LIMIT 1');
MyQuery1.ParamByName('kullanici').AsString := Edit1.Text;
MyQuery1.ParamByName('sifre').AsString := Edit2.Text;
MyQuery1.Open;
if MyQuery1.isempty then
begin
kolay gelsin..
hocam cevap verdiğiniz çok teşekkür ederim private key aktif yaptım şuan düzeldi ilerde verirmi pek bilmiyorum sorunu çok çok teşekkür ederim tekrardan...