ورود

View Full Version : مشکل در اجرای دستورات sql



mehialdst
یک شنبه 11 دی 1384, 16:06 عصر
با سلام خدمت دوستان
من در دلفی 6 از بانک پارادکس استفاده کردم و حالا برای گزارشگیری نیاز به این دارم که جستجو بر اساس دو شرط انجام بشه و برای این کار از query استفاده کردم حالا مشکلم اینه که 1- چطور مسیر بانک رو به query معرفی کنم چون بانکهای برنامه من در یک پوشه بنام db در پوشه اصلی برنامه است. وقتی فقط نام pay.db را می دهم در پوشه اصلی دنبال بانک می گردد 2- می خواهم در بانک رکوردهایی با شرط اینکه در دوره ثبت نام 17 باشد و همچنین در تاریخ خاص یا شرط دیگر باشد . حالا می خواهم دوره را از یک combobox بگیرد و تاریخ را از یک کمپوننت ،فارسی کمپوننت،بنام shdatepicker1.date.
خواهش می کنم اگر کسی جواب مرا میداند زحمت بکشد.
با تشکر

mzjahromi
یک شنبه 11 دی 1384, 16:20 عصر
برای اینکه مسیر بانک اطلاعاتی ات درست بشه باید تو خاصیت DataBaseName از Query یا Table مسیر جدولهات رو بگذاری یا از توی ControlPanel>BDEAdministrator یک Alias تعریف کنی و تو برنامه ازش استفاده کنی

m-khorsandi
دوشنبه 12 دی 1384, 08:14 صبح
روش اول
میتونید از Alias استفاده کنید ، که در این صورت Alias رو هم میتونید دستی بسازید، هم میتونید با استفاده از
برنامه ای که برای نصب درست میکنید این کار رو بکنید ، هم با استفاده از کدنویسی.

روش دوم
میتونید مسیر فایل ها رو زمان اجرای برنامه مقدار بدید


procedure TForm1.Button1Click(Sender: TObject);
Const
CS_DBPATH = '\DB';
begin
Caption := ExtractFileDir(Application.ExeName) + CS_DBPATH;
end;


که در آخر مسیر یا Alias رو میتونید به صورت جداگانه به Table یا Query بدید یا اینکه از DataBase استفاده کنید.

mehialdst
چهارشنبه 14 دی 1384, 16:00 عصر
ممنون ولی در مورد جستجوی ترکیبی در یک ادیت باکس و کمبوباکس چیزی نگفتید

mzjahromi
چهارشنبه 14 دی 1384, 17:43 عصر
منظورتون از جستجوی ترکیبی چیه؟

mehialdst
پنج شنبه 15 دی 1384, 15:41 عصر
سلام
منظورم رو در بالا هم گفتم یعنی میخوام جستجو بر اساس 2 کلید انجام بشه فیلد اول رو از ادیت باکس بگیره و فیلد دوم رو از یک datepicker . میخوام تمام رکوردهایی که بر فرض دارای شماره id باشند که در ادیت باکس نوشته شده و نیز دارای تاریخ ثبتی باشد که از datapicker گرفته میشود.
با تشکر

mzjahromi
پنج شنبه 15 دی 1384, 15:45 عصر
خوب این که پیچیدگی نداره


select * From TableName Where Field1=X and Field2=Y And ...

mehialdst
پنج شنبه 15 دی 1384, 17:37 عصر
یعنی بنویسم
select * from AA.db whre id=edit1.text and st_date=shdatepicker1.date

این درسته؟

mzjahromi
پنج شنبه 15 دی 1384, 17:45 عصر
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select * from AA.db whre id='+edit1.text+' and st_date='+DateToStr(shdatepicker1.date));

می تونی هم از پارامتر استفاده کنی