Sayfayı Yazdır | Pencereyi Kapat

TclSqlQuery Outputunu işleyemedim

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Clomosy ile değişken kullanımı
Forum Tanımlaması: TRObject dili ile değişken tanımlaması ve ekranda gösterme
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1258
Tarih: 02 Şubat 2026 Saat 18:35
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: TclSqlQuery Outputunu işleyemedim
Mesajı Yazan: M-Guney
Konu: TclSqlQuery Outputunu işleyemedim
Mesaj Tarihi: 02 Şubat 2026 Saat 14:59
var
  MainForm      : TCLForm;
  ProGridCari   : TCLProGrid;
  mainVertSB    : TclVertScrollBox;
  ScaledLayout  : TCLScaledLayout;
  ReportQuery   : TclSqlQuery;
  CariFields    : TClStringList;

function MakeTitleFromField(AField : String) : String;
var
  p : Integer;
{
  Result = AField;
  p = Pos('_', Result);
  while (p > 0)
  {
    Delete(Result, p, 1);
    Insert(' ', Result, p);
    p = Pos('_', Result);
  }
  Result = AnsiUpperCase(Result);
}

void SetupCariGrid;
var
  c : Integer;
{
  if (ProGridCari == nil)
  {
    ProGridCari = MainForm.AddNewProGrid(mainVertSB, 'ProGridCari');
    ProGridCari.Align = alClient;
  }

  ProGridCari.RowCount = 0; 
  ProGridCari.ColumnCount = CariFields.Count;   
  ProGridCari.RowCount    = 2;   
  ProGridCari.FixedRows   = 1;
  ProGridCari.Options.Editing.Enabled = False;

  for (c = 0 to (CariFields.Count - 1))
  {
    ProGridCari.Cells[c, 0] = MakeTitleFromField(CariFields.Strings[c]);
  }
}

void ExtractMetadataFromQuery;
var
  i : Integer;
{
  if (ReportQuery == nil) { exit; }
  
  CariFields.Clear;

  for (i = 0 to (ReportQuery.FieldCount - 1))
  {
    //CariFields.Add(ReportQuery.FieldName(i));
    // Tam burada SQL den dönmüş olan verideki field alanlarını sütun ismi olarak //ayarlamak istiyorum ama sorgunun textine ulaşamadım
  }
}



Cevaplar:
Mesajı Yazan: M-Guney
Mesaj Tarihi: 02 Şubat 2026 Saat 15:01
LSourceQuery = Clomosy.DBSQLServerQueryWith(AQuery);
    Result = LSourceQuery;

çıktı olarak buradan aldığımı ReportQuery olarak kullanıyorum
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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: Emr.Erkmn
Mesaj Tarihi: 02 Şubat 2026 Saat 16:38
Merhaba Güney, 
var
  MainForm      : TCLForm;
  ProGridCari   : TCLProGrid;
  mainVertSB    : TclVertScrollBox;
  ReportQuery   : TclSqlQuery;
  CariFields    : TClStringList; 
  HamBaslik     : String;

function MakeTitleFromField(AField : String) : String;
var
  p : Integer;
{
  Result = AField;
  p = Pos('_', Result);
  while (p > 0)
  {
    Delete(Result, p, 1);
    Insert(' ', Result, p);
    p = Pos('_', Result);
  }
  Result = AnsiUpperCase(Result);
}

void GridDoldur;
var
  col, Satir : Integer;
  FieldName : String;
{
  if (ReportQuery == nil) { exit; }
  if (not ReportQuery.Active) ReportQuery.Open;

  if (ProGridCari == nil)
  {
    ProGridCari = MainForm.AddNewProGrid(mainVertSB, 'ProGridCari');
    ProGridCari.Align = alClient;
    ProGridCari.Options.Editing.Enabled = False;
  }

  ProGridCari.ColumnCount = CariFields.Count;
  
  // 1. BAŞLIKLARI YAZ
  for (col = 0 to CariFields.Count - 1)
  {
    HamBaslik = CariFields.Strings[col]; 
    ProGridCari.Cells[col, 0] = MakeTitleFromField(HamBaslik); 
  }

  // 2.  DÖNGÜYLE DOLDUR
  ProGridCari.RowCount = 1; 
  
  if (ReportQuery.Found)
  {
    ReportQuery.First;
    Satir = 1; 
    
    while (not ReportQuery.Eof)
    {
      for (col = 0 to CariFields.Count - 1)
      {
        FieldName = CariFields.Strings[col];
        ProGridCari.Cells[col, Satir] = ReportQuery.FieldByName(FieldName).AsString;
      }
      
      Satir = Satir + 1;
      ReportQuery.Next;
    }
  }
  
  ProGridCari.AutoSizeColumns(True, 100);
}

{
  MainForm = TCLForm.Create(Self);
  mainVertSB = MainForm.AddNewVertScrollBox(MainForm, 'mainVertSB');
  mainVertSB.Align = alClient;
  
  CariFields = Clomosy.StringListNew;
  
  // Alanları Belirle
  CariFields.Add('OGRENCI_NO');
  CariFields.Add('AD_SOYAD');
  CariFields.Add('NOT_ORT');
  
  ReportQuery = Clomosy.DBSQLiteQueryWith('SELECT 101 as OGRENCI_NO, ''Ahmet Yilmaz'' as AD_SOYAD, 85 as NOT_ORT'); 
  ReportQuery.Open;

  GridDoldur;
  
  MainForm.Run;

Test edebilir misin?? 
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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: 02 Şubat 2026 Saat 18:25
Aslında benim burada yapmak istediğim field alanını vermeden sorgudan almaktı 
  CariFields.Add('AD_SOYAD');
  CariFields.Add('NOT_ORT');

Yani sorgunun içerisindeki field alanındaki "_" leri " " ye çevirerek kullanmak istiyorum.
"AD_SOYAD" --> "AD SOYAD" şeklinde
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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