PDA

View Full Version : سوال درباره دیتابیس



Shahryar_Bmp
پنج شنبه 04 مرداد 1386, 14:57 عصر
سلام
من یک بانک با اکسس درست کردم و میخوام مثلاً فیلد Number که از نوع عدد است رو در یک DBGrid تمام رکورد هاشو بدست بیارم و مثلا با هم جمع کنم اگه ممکنه راهنمایی کنید
در ضمن برای اضافه کردن عکس با فرمت JPG به بانک باید چیکار کنم ؟؟ چون فقط عکس های با فرمت Bmp رو وارد بانک میکنه
راستی من در موقع کامپایل برنامه به ارور زیر بر میخورم که با Ok زدن رد میشه ولی میخوام از ایراد برنامه اطلاع پیدا کنم
http://i18.tinypic.com/628zk2g.jpg
ممنون

علامت سوال
پنج شنبه 04 مرداد 1386, 15:13 عصر
چند تا سوال توی یه تاپیک
با استفاده از دستور SUM در SQL جمع رو حساب کن
یه نمونه خیلی زیبا برای ذخیره عکس با فرمت های گوناگون در بانک Access در سایت هست
این Error که گذاشتی رو دیباگر داده خب ببین گه خظی از برنامه Error داده. مربوط به نوع داده ها هست.

SYNDROME
پنج شنبه 04 مرداد 1386, 15:37 عصر
با سلام

سلام
من یک بانک با اکسس درست کردم و میخوام مثلاً فیلد Number که از نوع عدد است رو در یک DBGrid تمام رکورد هاشو بدست بیارم و مثلا با هم جمع کنم اگه ممکنه راهنمایی کنید

از پرسیدن بیش از یک سوال در هر تاپیک خودداری کنید
برای جمع یک ستون از کد زیر استفاده کن(پیسرو حدف کاربر "علامت سوال")


ADO.SQL.Clear.
ADO.SQL.Add('Select Sum(Number) as Number');
ADO.SQL.Add('From Tbl_Test');
ADO.Active := True;
Edit1.text := ADO.FielByName('Number').Asstring;



راستی من در موقع کامپایل برنامه به ارور زیر بر میخورم که با Ok زدن رد میشه ولی میخوام از ایراد برنامه اطلاع پیدا کنم
این ایراد در هنگام کامپایل برنامه به وجود نمی آید و در هنگام اجرای برنامه ایجاد می شود.
شما یک فیلد در بانک خود دارید که با مقدار Nullپر شده است و در هنگام استفاده از آن در برنامه به این مشکل بر می خورید.
به کد زیر توجه کنید.


S:= ADOQuery1.FieldByName('a').AsVariant;

فیلد a از نوع Nvarchar و متغییر S از نوع Stringمی باشد.
من یک فیلد در بانک با نام a دارم و مقدار آن با Nullگر شده و زمانی که برنامه به خط بالا می رسد Error می دهد چون نمی تواند مقدار فیلد a را تبدیل به یک رشته کرده و در S بریزد.
شما برای برطرف کرده این مشکل خودتان این تبدیل را انجام دهید و دستور بالا ر ا به شکل زیر بنویسید.


S:= ADOQuery1.FieldByName('a').Asstring;

توجه کنید که با زدن کلید OKپیغام بالا رد می شود ولی فکر نکنید برنامه شما درست کار می کند . از خطی که این مشکل ایجاد می شود تا پایان تابع یا procedure شما برای اجرا نمی شود.
موفق باشید.