ورود

View Full Version : یک مشکل در ثبت اطلاعات



سیروس مقصودی
یک شنبه 06 اسفند 1385, 16:32 عصر
با سلام

من یک سیستم حسابداری نوشته ام که هنگام ثبت اسناد حسابداری رکوردها پشت سر هم ثبت نمیشود یعنی به ترتیبی که کاربر ثبت میکند در Table ذخیره نمیشود و برای Table مذکور هیچ Index ویا Primary Key تعریف نکرده ام .
من از Sql Server 2000 و از Ado استفاده مینمایم .

چگونه میتوانم این مشکل را حل نمایم .

لطفا مرا راهنمائی فرمائید .

با تشکر .

sasan_vm
یک شنبه 06 اسفند 1385, 17:13 عصر
سلام

وقتی برای Table هیچ Index ای تعریف نمی کنید برای ثبت اطلاعات جدید 2 حالت پیش
میاد:
- APPEND افزودن به انتهای Table
- INSERT درج بعد از رکورد جاری

به هر حال هنگام خواندن اطلاعات می توانید آنها را بر اساس فیلد مورد نظر مرتب کنید:


SELECT * FROM [TableName] ORDER BY [FieldName] ASC // صعودی
SELECT * FROM [TableName] ORDER BY [FieldName] DESC // نزولی

Bahmany
یک شنبه 06 اسفند 1385, 20:39 عصر
برای Table مذکور هیچ Index ویا Primary Key تعریف نکرده ام
می تونی از دستور زیر هم استفاده کنی
َADOTable1.Sort:=FieldName

darvishiali
یک شنبه 06 اسفند 1385, 21:16 عصر
سلام؛

اگه برای سندهات تاریخ و ساعت ذخیره میکنی، میتونی برای اینکه به ترتیب ذخیره شدن برگردونی، روی اونا براساس تاریخ، صعودی، و ساعت، صعودی، کوئری بزنی.



SELECT Selected_Fields FROM Documnets ORDER BY Insert_Date ASC, Insert_Time ASC


اگه هم از نوع داده DateTime استفاده میکنی، فقط کافیه شرط ترتیب رو روی اون، صعودی، بذاری.
ولی پیشنهاد میکنم حتما کلید و ایندکس مناسب روی جدولت تعریف کن؛ چون روی سرعت کوئری هات خیلی تاثیر میذارن!