سلام ببخشید آیا می شود بگویید که چطوری می توان یک برنامه دیتابیس را در ویندوزی دیگر اجرا کرد؟
من هنگام انجام این کار یک ارر دریافت کردم:Delphi DataBase Engine Error
Printable View
سلام ببخشید آیا می شود بگویید که چطوری می توان یک برنامه دیتابیس را در ویندوزی دیگر اجرا کرد؟
من هنگام انجام این کار یک ارر دریافت کردم:Delphi DataBase Engine Error
سلامنقل قول:
لطفا سوال خود را در يك جا مطرح كنيد.
هنگامی که برنامه دیتابیس ام را در ویندوز دیگری اجرا کردم با Delphi DataBase Engine Error روبرو شدم
آیا می توانید کمکم کنید؟
سلامنقل قول:
جواب سوالتون :
کد:http://forum.p30world.com/showthread.php?t=145133&page=2
توضحاتی کامل برای فیلترها (Filters)
چون دیدم ظاهرا این مسئله هنوز بین خیلی از دوستان مشکل هست این توضیحاتو نوشتم
به نظر من بهترین کار توضیح با مثالها هست بنابراین اینجا انواع مختلف رو مثال میزارم
نوع 1 : با مقادیر ثابت
نوع2 : با مقادیر متغییرکد:عددی : که در مثال 8 عدد ثابت هست
dataset.filter := 'YourNumberField = 8';
کاراکتری: که در آن کلمه MOBAH مقدار ثابت هست
dataset.filter := 'YourTextField = MOBAH';
تاریخ : که در آن 08/08/08 تاریخ خاص میباشد
Dataset.filter := 'YourDateField = 08/08/08';
در تمامی مثالهای زیر فرض بر این است که اطلاعات در یک Edit وارد شده و مقادیر آنها صحیح هست (یعنی برای مثال در فیلد عددی حرف وجود ندارد)
نوع 3 : بررسی جستجوییکد:عددی:
dataset.filter := 'YourNumberField = '+edit1.text;
کاراکتری :
dataset.filter := 'YourTextField = '''+edit1.text+'''';
تاریخ :
dataset.filter := 'YourDateField = '+edit1.text;
این نوع فقط برای انواع کاراکتری امکانپذیر هست
یعنی به فرض میخواهید به دنبال نامی بگردید که با حرف A ویا مقدار درون یک Edit شروع میشود
تمامی انواع فوق را میتوان با ترکیبهای And و OR با یکدیگر ترکیب کردکد:dataset.filetr := 'YourTextField = A*';
dataset.filter := 'YourTextField = '''+edit1.text+'''*';
برای مثال :
مثال بالا تمامی فیلدهایی که تاریخی کمتر از مقدار درون Edit2 دارند را به شرط اینکه با حروف اول Edit1 شروع شده اند را نمایش میدهد.کد:dataset.filter := 'YourTextField = '''+edit1.text+'''* and YourDateField < '+edit2.text;
سلام
دستتون درد نکنه هم برای آموزش هم برای بقیه پستها
کل 25 صفحه رو خوندم اما جوابم رو تو پست اخری پیدا کردم .ولی یه سوال مهم
هر کاری کردم نتونستم دوتا فیلد عددی رو با هم اند کنم مثل اند اخری که شما گذاشتین
مثلا توی اون اند بعد از دیت یه نامبر هم اضافه کنیم با یه ادیت دیگه؟؟؟
چه جوری میشه؟؟؟؟؟؟
سلام و تشكر. ميشه بگيد چجوري ميتونم يه تصوير توي بانك sql server ذخيره كنم؟
آره میتونس ولی کار متداولی نیست. نمیدونم چرا نتونیستی با دوتا عدد این کارو بکنی
این بحث چندین بار صورت گرفته و بهترین و کاملترین جواب رو جناب نان فوری در این مورد دادند.نقل قول:
با تشکر فراوان از نان فورس عزیز :
توصيه ميكنم فايلهاي صوتي و تصويري را توي بانك ذخيره نكنيد چون حجم بانك بالا ميره و مشكل سرعت و ... پيش مياد.
ولي در هر صورت :
اول دو روال براي ذخيره/خواندن اطلاعات بصورت Stream در/از يك فيلد از نوع Blob :
روال نوشتن :کد:var
OutStream : TMemoryStream;
روال خواندن :کد:ADOTable1.Edit;
ADOTable1.Insert;
TBlobField(ADOTable1.FieldByName('fldBlob')).LoadFromStream(OutStream);
ADOTable1.Post;
OutStream.Free;
خب حالا نحوه بازگذاري يك عكس و ذخيره اون در يك Stream براي ذخيره شدن در بانك :کد:ADOCommand1.CommandText := 'Select * from tblTest Where ...';
ADOTable1.Recordset := ADOCommand1.Execute;
OutStream := TMemoryStream.Create;
TBlobField(ADOTable1.FieldByName('fldBlob')).SaveToStream(OutStream);
OutStream.position:=0;
DecompressStream(OutStream);
OutStream.position:=0;
OutStream.Free;
اختصاص تصوير موجود در Image1 :کد:procedure WritePictureToStream(Picture: TPicture; Stream: TStream);
var
MStream: TMemoryStream;
iPictureSize: Integer;
begin
MStream := TMemoryStream.Create;
try
ReadWritePictureFromStream(Picture, MStream, False);
iPictureSize := MStream.Size;
Stream.WriteBuffer(iPictureSize, sizeof(iPictureSize));
Stream.WriteBuffer(MStream.Memory^, iPictureSize);
finally
MStream.Free;
end;
end;
procedure ReadPictureFromStream(Picture: TPicture; Stream: TStream);
var
MStream: TMemoryStream;
iPictureSize: Integer;
begin
MStream := TMemoryStream.Create;
try
Stream.ReadBuffer(iPictureSize, sizeof(iPictureSize));
MStream.SetSize(iPictureSize);
Stream.ReadBuffer(MStream.Memory^, iPictureSize);
ReadWritePictureFromStream(Picture, MStream, True);
finally
MStream.Free;
end;
end;
کد:WritePictureToStream(Image1.Picture , OutStream);
خواندن عكس از ديتابيس و اختصاص آن به يك TImage :
خواندن يك فايل صوتي و ذخيره آن در يك Stream و پخش از Stream :کد:ReadPictureFromStream(Image1.Picture, OutStream);
در Uses عبارت MMSystem را اضافه كنيد.
کد:OutStream := TMemoryStream.Create;
OutStream.LoadFromFile(FileName);
OutStream.Position := 0;
PlaySound(OutStream.Memory , 0,SND_MEMORY);
OutStream.Free;
خوب نمی دونم هر کاری کردم erorrداد
من می خوام دوتا عدد بگیره از دو تا ادیت بعد عددای بین اون دو تا رو نشون بده
چه جوری میشه؟؟؟؟؟؟؟؟؟؟؟؟؟