Sayfayı Yazdır | Pencereyi Kapat

sql baglantı

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1486
Tarih: 22 Haziran 2026 Saat 03:25
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: sql baglantı
Mesajı Yazan: Esra Betül
Konu: sql baglantı
Mesaj Tarihi: 07 Mayıs 2026 Saat 19:22
var
  MyForm, RegisterForm: TclForm;
  PnlLoginCard, PnlBottom, PnlRegCard: TclProPanel;
  EdtUser, EdtPass, EdtRegUser, EdtRegMail, EdtRegPass, EdtRegPassAgain: TclProEdit;
  BtnLogin, BtnRegister, BtnRegSubmit: TclProButton;
  LblTitle, LblSubTitle, LblRegTitle: TclProLabel;

// --- 1. SQL KAYIT PROSEDÜRÜ ---
procedure OnRegSubmitClick;
var
  sqlQuery: String;
begin
  // Şifre kontrolü (Basit bir doğrulama ekledik)
  if EdtRegPass.Text <> EdtRegPassAgain.Text then
  begin
    ShowMessage('Şifreler uyuşmuyor!');
    Exit;
  end;

  // Veritabanı Bağlantısı
  // Not: Parametre sıralaması ve doğruluğu sunucu ayarlarınıza göre değişebilir.
  if Clomosy.DBSQLServerConnect('SQL Server', '10.53.180.120', 'sa', '123456', 'CLOSTEP', 1433) then
  begin
    try
      sqlQuery := 'INSERT INTO TblKullanicilar (KullaniciAdi, Sifre, Eposta, KayitTarihi) VALUES (' +
                  QuotedStr(EdtRegUser.Text) + ', ' +
                  QuotedStr(EdtRegPass.Text) + ', ' +
                  QuotedStr(EdtRegMail.Text) + ', ' +
                  'GETDATE())';
      
      Clomosy.DBSQLServerQuery.Sql.Clear; // Önceki sorguyu temizlemek güvenlidir
      Clomosy.DBSQLServerQuery.Sql.Add(sqlQuery); 
      Clomosy.DBSQLServerQuery.ExecSQL;
      
      ShowMessage('Kayıt başarıyla tamamlandı!');
      RegisterForm.Close;
    except
      ShowMessage('SQL Hatası: Veri kaydedilemedi. Tablo yapısını kontrol edin.');
    end;
  end
  else
    ShowMessage('Sunucu bağlantı hatası!');
end;

// --- 2. KAYIT FORMU OLUŞTURMA ---
procedure CreateRegisterForm;
begin
  RegisterForm := TclForm.Create(Self);
  RegisterForm.SetFormColor('#F3F4F6', '', clGNone);

  PnlRegCard := RegisterForm.AddNewProPanel(RegisterForm, 'PnlRegCard');
  PnlRegCard.Align := alCenter;
  PnlRegCard.Width := 300;
  PnlRegCard.Height := 420;
  PnlRegCard.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#FFFFFF');
  PnlRegCard.clProSettings.RoundHeight := 10; 
  PnlRegCard.clProSettings.RoundWidth := 10;
  PnlRegCard.SetclProSettings(PnlRegCard.clProSettings);

  LblRegTitle := RegisterForm.AddNewProLabel(PnlRegCard, 'LblRegTitle', 'Yeni Hesap Oluştur');
  LblRegTitle.Align := alTop; 
  LblRegTitle.Height := 30; 
  LblRegTitle.Margins.Top := 20;
  LblRegTitle.clProSettings.FontSize := 16; 
  LblRegTitle.clProSettings.FontHorzAlign := palCenter;
  LblRegTitle.clProSettings.TextSettings.Font.Style := [fsBold];
  LblRegTitle.SetclProSettings(LblRegTitle.clProSettings);

  EdtRegUser := RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegUser', 'Kullanıcı Adı');
  EdtRegUser.Align := alTop; EdtRegUser.Height := 40; 
  EdtRegUser.Margins.Top := 20; EdtRegUser.Margins.Left := 20; EdtRegUser.Margins.Right := 20;

  EdtRegMail := RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegMail', 'E-Posta Adresi');
  EdtRegMail.Align := alTop; EdtRegMail.Height := 40; 
  EdtRegMail.Margins.Top := 10; EdtRegMail.Margins.Left := 20; EdtRegMail.Margins.Right := 20;

  EdtRegPass := RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegPass', 'Şifre');
  EdtRegPass.Align := alTop; EdtRegPass.Height := 40; 
  EdtRegPass.Margins.Top := 10; EdtRegPass.Margins.Left := 20; EdtRegPass.Margins.Right := 20;
  EdtRegPass.Password := True;

  EdtRegPassAgain := RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegPassAgain', 'Şifre Tekrar');
  EdtRegPassAgain.Align := alTop; EdtRegPassAgain.Height := 40; 
  EdtRegPassAgain.Margins.Top := 10; EdtRegPassAgain.Margins.Left := 20; EdtRegPassAgain.Margins.Right := 20;
  EdtRegPassAgain.Password := True;

  BtnRegSubmit := RegisterForm.AddNewProButton(PnlRegCard, 'BtnRegSubmit', 'KAYIT OL');
  BtnRegSubmit.Align := alBottom; 
  BtnRegSubmit.Height := 40;
  BtnRegSubmit.Margins.Bottom := 30; BtnRegSubmit.Margins.Left := 20; BtnRegSubmit.Margins.Right := 20;
  BtnRegSubmit.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#10B981');
  BtnRegSubmit.clProSettings.FontColor := clAlphaColor.clWhite;
  BtnRegSubmit.SetclProSettings(BtnRegSubmit.clProSettings);

  RegisterForm.AddNewEvent(BtnRegSubmit, tbeOnClick, 'OnRegSubmitClick');
  RegisterForm.Run;
end;

// --- 3. DİĞER YARDIMCI PROSEDÜRLER ---
procedure OnRegisterClick;
begin
  CreateRegisterForm;
end;

procedure DrawCompactLogin(TargetForm: TclForm; CardW, CardH: Integer; TitleStr, SubTitleStr, BtnStr: String);
begin
  TargetForm.SetFormColor('#F3F4F6', '', clGNone);
  
  PnlLoginCard := TargetForm.AddNewProPanel(TargetForm, 'PnlLoginCard');
  PnlLoginCard.Align := alCenter;
  PnlLoginCard.Width := CardW; 
  PnlLoginCard.Height := CardH;
  PnlLoginCard.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#FFFFFF');
  PnlLoginCard.clProSettings.RoundHeight := 10; 
  PnlLoginCard.clProSettings.RoundWidth := 10;
  PnlLoginCard.SetclProSettings(PnlLoginCard.clProSettings);

  LblTitle := TargetForm.AddNewProLabel(PnlLoginCard, 'LblTitle', TitleStr);
  LblTitle.Align := alTop; 
  LblTitle.Height := 30; 
  LblTitle.Margins.Top := 20;
  LblTitle.clProSettings.FontSize := 18; 
  LblTitle.clProSettings.FontHorzAlign := palCenter;
  LblTitle.clProSettings.TextSettings.Font.Style := [fsBold];
  LblTitle.SetclProSettings(LblTitle.clProSettings);

  EdtUser := TargetForm.AddNewProEdit(PnlLoginCard, 'EdtUser', 'Kullanıcı Adı');
  EdtUser.Align := alTop; EdtUser.Height := 40; 
  EdtUser.Margins.Top := 15; EdtUser.Margins.Left := 20; EdtUser.Margins.Right := 20;

  EdtPass := TargetForm.AddNewProEdit(PnlLoginCard, 'EdtPass', 'Şifre');
  EdtPass.Align := alTop; EdtPass.Height := 40; 
  EdtPass.Margins.Top := 10; EdtPass.Margins.Left := 20; EdtPass.Margins.Right := 20;
  EdtPass.Password := True;

  PnlBottom := TargetForm.AddNewProPanel(PnlLoginCard, 'PnlBottom');
  PnlBottom.Align := alBottom; 
  PnlBottom.Height := 100;

  BtnLogin := TargetForm.AddNewProButton(PnlBottom, 'BtnLogin', BtnStr);
  BtnLogin.Align := alTop; 
  BtnLogin.Height := 40; 
  BtnLogin.Margins.Left := 20; 
  BtnLogin.Margins.Right := 20;
  BtnLogin.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#B91C1C');
  BtnLogin.clProSettings.FontColor := clAlphaColor.clWhite;
  BtnLogin.SetclProSettings(BtnLogin.clProSettings);

  BtnRegister := TargetForm.AddNewProButton(PnlBottom, 'BtnRegister', 'Kayıt Ol');
  BtnRegister.Align := alTop; 
  BtnRegister.Height := 30;
  TargetForm.AddNewEvent(BtnRegister, tbeOnClick, 'OnRegisterClick');
end;

// --- ANA BLOK ---
begin
  MyForm := TclForm.Create(Self);
  DrawCompactLogin(MyForm, 300, 380, 'Giriş Yap', 'Hoş geldiniz!', 'GİRİŞ');
  MyForm.Run;
end;   bu kod bu şekilde doğru çalıyor. Süslü paranteze çevirince hata veriyor. Ne yapabiliriz. Diğer bir sorun da bu kodda yazdığımız IP adresi sadece benim telefonumdan açtığım internet bağlantısıyla açılıyor başka bir internet bağlantısıyla kod sunucu hatası veriyor. Araştırmalarımız sonucu buluta aktarmamız gerekiyormuş ancak onu yapamadık.
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



Cevaplar:
Mesajı Yazan: M-Guney
Mesaj Tarihi: 08 Mayıs 2026 Saat 09:48
Parantezlerin düzelmiş hali bu şekildedir.

var
  MyForm, RegisterForm: TclForm;
  PnlLoginCard, PnlBottom, PnlRegCard: TclProPanel;
  EdtUser, EdtPass, EdtRegUser, EdtRegMail, EdtRegPass, EdtRegPassAgain: TclProEdit;
  BtnLogin, BtnRegister, BtnRegSubmit: TclProButton;
  LblTitle, LblSubTitle, LblRegTitle: TclProLabel;

// --- 1. SQL KAYIT PROSEDÜRÜ ---
void OnRegSubmitClick;
var
  sqlQuery: String;
{
  // Şifre kontrolü (Basit bir doğrulama ekledik)
  if (EdtRegPass.Text <> EdtRegPassAgain.Text)
  {
    ShowMessage('Şifreler uyuşmuyor!');
    Exit;
  }

  // Veritabanı Bağlantısı
  // Not: Parametre sıralaması ve doğruluğu sunucu ayarlarınıza göre değişebilir.
  if (Clomosy.DBSQLServerConnect('SQL Server', '10.53.180.120', 'sa', '123456', 'CLOSTEP', 1433) )
  {
    try
      sqlQuery = 'INSERT INTO TblKullanicilar (KullaniciAdi, Sifre, Eposta, KayitTarihi) VALUES (' +
                  QuotedStr(EdtRegUser.Text) + ', ' +
                  QuotedStr(EdtRegPass.Text) + ', ' +
                  QuotedStr(EdtRegMail.Text) + ', ' +
                  'GETDATE())';
      
      Clomosy.DBSQLServerQuery.Sql.Clear; // Önceki sorguyu temizlemek güvenlidir
      Clomosy.DBSQLServerQuery.Sql.Add(sqlQuery); 
      Clomosy.DBSQLServerQuery.ExecSQL;
      
      ShowMessage('Kayıt başarıyla tamamlandı!');
      RegisterForm.Close;
    except
      ShowMessage('SQL Hatası: Veri kaydedilemedi. Tablo yapısını kontrol edin.');
    }
  }
  else
    ShowMessage('Sunucu bağlantı hatası!');
}

// --- 2. KAYIT FORMU OLUŞTURMA ---
void CreateRegisterForm;
{
  RegisterForm = TclForm.Create(Self);
  RegisterForm.SetFormColor('#F3F4F6', '', clGNone);

  PnlRegCard = RegisterForm.AddNewProPanel(RegisterForm, 'PnlRegCard');
  PnlRegCard.Align = alCenter;
  PnlRegCard.Width = 300;
  PnlRegCard.Height = 420;
  PnlRegCard.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  PnlRegCard.clProSettings.RoundHeight = 10; 
  PnlRegCard.clProSettings.RoundWidth = 10;
  PnlRegCard.SetclProSettings(PnlRegCard.clProSettings);

  LblRegTitle = RegisterForm.AddNewProLabel(PnlRegCard, 'LblRegTitle', 'Yeni Hesap Oluştur');
  LblRegTitle.Align = alTop; 
  LblRegTitle.Height = 30; 
  LblRegTitle.Margins.Top = 20;
  LblRegTitle.clProSettings.FontSize = 16; 
  LblRegTitle.clProSettings.FontHorzAlign = palCenter;
  LblRegTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblRegTitle.SetclProSettings(LblRegTitle.clProSettings);

  EdtRegUser = RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegUser', 'Kullanıcı Adı');
  EdtRegUser.Align = alTop; EdtRegUser.Height = 40; 
  EdtRegUser.Margins.Top = 20; EdtRegUser.Margins.Left = 20; EdtRegUser.Margins.Right = 20;

  EdtRegMail = RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegMail', 'E-Posta Adresi');
  EdtRegMail.Align = alTop; EdtRegMail.Height = 40; 
  EdtRegMail.Margins.Top = 10; EdtRegMail.Margins.Left = 20; EdtRegMail.Margins.Right = 20;

  EdtRegPass = RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegPass', 'Şifre');
  EdtRegPass.Align = alTop; EdtRegPass.Height = 40; 
  EdtRegPass.Margins.Top = 10; EdtRegPass.Margins.Left = 20; EdtRegPass.Margins.Right = 20;
  EdtRegPass.Password = True;

  EdtRegPassAgain = RegisterForm.AddNewProEdit(PnlRegCard, 'EdtRegPassAgain', 'Şifre Tekrar');
  EdtRegPassAgain.Align = alTop; EdtRegPassAgain.Height = 40; 
  EdtRegPassAgain.Margins.Top = 10; EdtRegPassAgain.Margins.Left = 20; EdtRegPassAgain.Margins.Right = 20;
  EdtRegPassAgain.Password = True;

  BtnRegSubmit = RegisterForm.AddNewProButton(PnlRegCard, 'BtnRegSubmit', 'KAYIT OL');
  BtnRegSubmit.Align = alBottom; 
  BtnRegSubmit.Height = 40;
  BtnRegSubmit.Margins.Bottom = 30; BtnRegSubmit.Margins.Left = 20; BtnRegSubmit.Margins.Right = 20;
  BtnRegSubmit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#10B981');
  BtnRegSubmit.clProSettings.FontColor = clAlphaColor.clWhite;
  BtnRegSubmit.SetclProSettings(BtnRegSubmit.clProSettings);

  RegisterForm.AddNewEvent(BtnRegSubmit, tbeOnClick, 'OnRegSubmitClick');
  RegisterForm.Run;
}

// --- 3. DİĞER YARDIMCI PROSEDÜRLER ---
void OnRegisterClick;
{
  CreateRegisterForm;
}

void DrawCompactLogin(TargetForm: TclForm; CardW, CardH: Integer; TitleStr, SubTitleStr, BtnStr: String);
{
  TargetForm.SetFormColor('#F3F4F6', '', clGNone);
  
  PnlLoginCard = TargetForm.AddNewProPanel(TargetForm, 'PnlLoginCard');
  PnlLoginCard.Align = alCenter;
  PnlLoginCard.Width = CardW; 
  PnlLoginCard.Height = CardH;
  PnlLoginCard.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  PnlLoginCard.clProSettings.RoundHeight = 10; 
  PnlLoginCard.clProSettings.RoundWidth = 10;
  PnlLoginCard.SetclProSettings(PnlLoginCard.clProSettings);

  LblTitle = TargetForm.AddNewProLabel(PnlLoginCard, 'LblTitle', TitleStr);
  LblTitle.Align = alTop; 
  LblTitle.Height = 30; 
  LblTitle.Margins.Top = 20;
  LblTitle.clProSettings.FontSize = 18; 
  LblTitle.clProSettings.FontHorzAlign = palCenter;
  LblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  LblTitle.SetclProSettings(LblTitle.clProSettings);

  EdtUser = TargetForm.AddNewProEdit(PnlLoginCard, 'EdtUser', 'Kullanıcı Adı');
  EdtUser.Align = alTop; EdtUser.Height = 40; 
  EdtUser.Margins.Top = 15; EdtUser.Margins.Left = 20; EdtUser.Margins.Right = 20;

  EdtPass = TargetForm.AddNewProEdit(PnlLoginCard, 'EdtPass', 'Şifre');
  EdtPass.Align = alTop; EdtPass.Height = 40; 
  EdtPass.Margins.Top = 10; EdtPass.Margins.Left = 20; EdtPass.Margins.Right = 20;
  EdtPass.Password = True;

  PnlBottom = TargetForm.AddNewProPanel(PnlLoginCard, 'PnlBottom');
  PnlBottom.Align = alBottom; 
  PnlBottom.Height = 100;

  BtnLogin = TargetForm.AddNewProButton(PnlBottom, 'BtnLogin', BtnStr);
  BtnLogin.Align = alTop; 
  BtnLogin.Height = 40; 
  BtnLogin.Margins.Left = 20; 
  BtnLogin.Margins.Right = 20;
  BtnLogin.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#B91C1C');
  BtnLogin.clProSettings.FontColor = clAlphaColor.clWhite;
  BtnLogin.SetclProSettings(BtnLogin.clProSettings);

  BtnRegister = TargetForm.AddNewProButton(PnlBottom, 'BtnRegister', 'Kayıt Ol');
  BtnRegister.Align = alTop; 
  BtnRegister.Height = 30;
  TargetForm.AddNewEvent(BtnRegister, tbeOnClick, 'OnRegisterClick');
}

// --- ANA BLOK ---
{
  MyForm = TclForm.Create(Self);
  DrawCompactLogin(MyForm, 300, 380, 'Giriş Yap', 'Hoş geldiniz!', 'GİRİŞ');
  MyForm.Run;
}


Eğer ki veritabanına heryerden erişmek istiyorsan ya Azure gibi bulut tabanlı bir veri tabanı kullanabilirsin Ya da REST API ile kendi veritabanını ya da SupaBase gibi firmların veritabanı hizmetini kullanabilirsiniz.

Rest :  https://www.docs.clomosy.com/index.php?title=TclRest" rel="nofollow - https://www.docs.clomosy.com/index.php?title=TclRest
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">


Mesajı Yazan: Esra Betül
Mesaj Tarihi: 08 Mayıs 2026 Saat 11:24
parantezlerin düzeltilmiş halinde parantezler hata veriyor ve hatanın nedenini bulamıyoruz. https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">


Mesajı Yazan: M-Guney
Mesaj Tarihi: 08 Mayıs 2026 Saat 16:55
Attığım kod bende hata vermemktedir projenin açılış kısmında eğer ki neden girş yapmıyor ya da kayıt olmuyor diyorsanız Sizin kurmuş olduğun veri tabanından kaynaklı olabilir hata mesajınız atarsanız yardımcı olabiliriz. https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">




Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net