PDA

View Full Version : مشکل با تاریخ



soft-c
سه شنبه 22 تیر 1389, 15:00 عصر
سلام.
من یک برنامه دارم با استفاده از کامپوننت solarcalendar .
در این برنامه وقتی کاربر روی تقویم کلیک کرد اگر اطلاعات با این تاریخ در پایگاه پیدا کرد در یک فرم این اطلاعات را که dbgrid در آن قرار دارد نشان می دهد و اگر اطلاعاتی با آن تاریخ پیدا نکرد برنامه را به سمت فرمی هدایت می کند تا در آنجا اطلاعات جدید وارد شود . ولی هر چی جستجو می کنم تاریخ مورد نظر را پیدا نمی کنه .
فیلد date1 هم از نوع (10)char است .
کدها :

begin
SolarDatePicker1.Text :=SolarMonthCalendar1.OutDate ;
If SolarDatePicker1.Text ='' then
ShowMessage('áØÝÇ ÊÇÑíÎ ãæÑÏ äÙÑ ÑÇ ÇäÊÎÇÈ äãÇííÏ')
else
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Add('select * from date where (( date1='''+ SolarDatePicker1.Text +'''))');
ADOQuery1.Open ;
if ADOQuery1.RecordCount =0 then
begin
ShowMessage('ÇØáÇÚÇÊí ÈÇ Çíä ÊÇÑíÎ ÏÑ ÇíÇå ÐÎíÑå äÔÏå ÇÓÊ');
form12.Show ;
end
else
if ADOQuery1.RecordCount =1 then
begin
form17.DataSource1.DataSet :=ADOQuery1 ;
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='name';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='title';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='kind';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='place';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='mokhatab';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='mihman';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='tozih';
Form17.Show;
end;
وقتی هم از
QuotedStr (SolarDatePicker1.Text ) استفاده می کنم این پیغام را می دهد :
'1389'incorect syntax near
تشکر.

MOJTABAATEFEH
سه شنبه 22 تیر 1389, 19:42 عصر
سلام.
من یک برنامه دارم با استفاده از کامپوننت solarcalendar .
در این برنامه وقتی کاربر روی تقویم کلیک کرد اگر اطلاعات با این تاریخ در پایگاه پیدا کرد در یک فرم این اطلاعات را که dbgrid در آن قرار دارد نشان می دهد و اگر اطلاعاتی با آن تاریخ پیدا نکرد برنامه را به سمت فرمی هدایت می کند تا در آنجا اطلاعات جدید وارد شود . ولی هر چی جستجو می کنم تاریخ مورد نظر را پیدا نمی کنه .
فیلد date1 هم از نوع (10)char است .
کدها :

begin
SolarDatePicker1.Text :=SolarMonthCalendar1.OutDate ;
If SolarDatePicker1.Text ='' then
ShowMessage('áØÝÇ ÊÇÑíÎ ãæÑÏ äÙÑ ÑÇ ÇäÊÎÇÈ äãÇííÏ')
else
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Add('select * from date where (( date1='''+ SolarDatePicker1.Text +'''))');
ADOQuery1.Open ;
if ADOQuery1.RecordCount =0 then
begin
ShowMessage('ÇØáÇÚÇÊí ÈÇ Çíä ÊÇÑíÎ ÏÑ ÇíÇå ÐÎíÑå äÔÏå ÇÓÊ');
form12.Show ;
end
else
if ADOQuery1.RecordCount =1 then
begin
form17.DataSource1.DataSet :=ADOQuery1 ;
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='name';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='title';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='kind';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='place';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='mokhatab';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='mihman';
form17.DBEdit1.DataSource:=Form17.DataSource1;
Form17.DBEdit1.DataField :='tozih';
Form17.Show;
end; وقتی هم از
QuotedStr (SolarDatePicker1.Text ) استفاده می کنم این پیغام را می دهد :
'1389'incorect syntax near
تشکر.

دوست عزیز قسمت زیر رو تغییر بدید ببینید مشکل حل میشه


SolarDatePicker1.Text :=SolarMonthCalendar1.OutDate ;
ADOQuery1.SQL.Cleare ;
ADOQuery1.SQL.Add('select * from date where date1='+quotedstr( SolarDatePicker1.Text ));
ADOQuery1.Open ;

bootshow
پنج شنبه 24 تیر 1389, 16:40 عصر
فکر کنم اسم جدولو (date) باید بین دو گیومه بنویسی
ADOQuery1.SQL.Add('select * from "date" where date1='+quotedstr( SolarDatePicker1.Text ));