Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेल्फी एसक्यूएल दिनांक पढ़ने का मुद्दा

एक सामान्य नियम के रूप में, TDateTime मानों को तार के रूप में नहीं, बल्कि दिनांक और समय के रूप में मानें।

AsString विधि के साथ दिनांक/समय फ़ील्ड का मान प्राप्त न करें, AsDateTime विधि का उपयोग करें और इसे TDateTime चर को असाइन करें।

यदि आप दिनांक भागों को जानना चाहते हैं, तो ऐसा करने के लिए दिए गए कार्यों का उपयोग करें। उदाहरण के लिए DateUtils में उपलब्ध हैं। इकाई। SysUtils यूनिट में कुछ दिनांक/समय संबंधित कार्य भी शामिल हैं।

uses
  DateUtils, SysUtils;

var
  MyDate: TDateTime;
  MyDay, MyMonth, MyYear: Word;
begin
  MyDate := MyQuery.Fields[3].AsDateTime;  //not AsString
  MyDay := DayOf(MyDate);
  MyMonth := MonthOf(MyDate);
  MyYear := YearOf(MyDate);
  ShowMessage(Format('Day: %d, Month: %d, Year: %d', [MyDay, MyMonth, MyYear]);

  //or also
  MyDate := EndOfTheMonth(MyDate);
  DecodeDate(MyDate, MyYear, MyMonth, MyDay);
  ShowMessage(Format('Day: %d, Month: %d, Year: %d', [MyDay, MyMonth, MyYear]);

यह डेटाबेस में मूल्यों को संग्रहीत करने के लिए लागू होता है, एक निश्चित तिथि प्रारूप का उपयोग करने के बजाय, पैरामीटर का उपयोग करें, जैसे:

uses
  DateUtils, SysUtils;

var
  MyDate: TDateTime;
  MyDay, MyMonth, MyYear: Word;
begin
  MyDate := EncodeDate(2013, 2, 17);
  MyQuery.SQL.Text := 'insert into myTable (MyDate) values (:MyDate)';
  MyQuery.Params.ParamByName('MyDate').AsDateTime := MyDate;
  MyQuery.ExecSQL();

यह उन सभी डेटाबेस एक्सेस लेयर्स के साथ काम करता है जिनके बारे में मुझे पता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल:प्रति समूह अधिकतम रिकॉर्ड खोजें

  2. दी गई तालिका में प्रत्येक विषय के शीर्ष 3 टॉपर कैसे खोजें

  3. zsh:कमांड नहीं मिली:mysql

  4. टाइप 'MySqlConnection' परिभाषित नहीं है

  5. डेटा निर्देशिका MySQL