PDA

نسخه کامل مشاهده نسخه کامل : مشکل با ثبت زمان در دیتابیس



yes
21-08-2008, 13:04
سلام
من با کد زیر توی فرمم زمان سیستم رو میگیرم

کد:

Dim gettime As String = Format(Now, "hh:mm:ss").ToString

وقتی میخوام توی دیتابیس با این دستور بنویسم

کد:

inssql2 = "INSERT INTO tbservices(sid,accid,accname,time)VALUES('" & getsid & "','" & getaccid & "','" & getaccname & "','" & gettime & "')"
cmdsql.Connection = con
cmdsql.CommandText = inssql2
cmdsql.ExecuteNonQuery()



قسمت قرمز رو خطلا میده میگه syntax error INSERTمیده
توی بانکم فیلد زمان string
کد رو چطوری تغییر بدم؟

_H2_
21-08-2008, 23:38
سلام
در سایت دیگری هم دیدم که به شما روش پارامتری را توصیه کرده بودند، راهش همان ارسال پارامتری است، میشود با دستور String هم کار کرد ولی به نظر من که جالب نیست...
کمی و زیادی فیلدها هم فرقی ندارد!

vandu
27-08-2008, 01:50
بهتره برای ذخیره زمان از نوع Int استفاده کنی:
شماره روز + (شماره ماه × 100) + (شماره سال × 10000)

در این حالت برای عملیات مقایسه ای تاریخ هم مشکلی نخواهی داشت...
برای بازیابیش هم با چند تا تقسیم و باقیمانده گیری میتونی روز، ماه و سال رو بازیابی کنی...

_H2_
27-08-2008, 18:47
سلام

بهتره برای ذخیره زمان از نوع Int استفاده کنی:
شاید در زبانهای دیگر یاا قدیم تر بهترین راه بود، ولی الان و در دات نت هیچ مشکلی برای استفاده از خود نوع فیلدهای تاریخی وجود ندارد. هیچ مشکلی.
نه در بخش دسکتاپ و نه در بخش وبی و نه در نمایش تکی و نه در نمایش جدولی....

شما هم اگر احیاناً مشکلی دارید، و تحت دات نت هم کار میکنید، میتوانم لینک های کمکی را ارائه دهم.
دیگر وقت دوستی با فیلدهای مخصوص تاریخ رسیده است!!!!!:31:

ب استفاده از خود نوع های تاریخ، مشکل مقایسه و ورودی های غیر معتبر و دیتاهای غیر معتبر و جمع و تفریق و اعمال تاریخی هم همه در خود دستورات SQL مقدور میشود، تبدیلات هم که بسیار ساده شده.