PDA

View Full Version : updateبدون باز و بسته كردن جداول Sql Server



m_r_moini
چهارشنبه 18 شهریور 1388, 20:07 عصر
با سلام خدمت دوستان
در يكي از جداول بانك Sql Server بيش از 500000 ركورد دارم و وقتي ركورد جديد اضافه ميكنم تا زماني كه جدول را بسته و دوباره باز كنم اطلاعات نمايش داده نميشوند و باز و بسته كردن جدول هم زمان‌بر است . آيا راه ديگري براي به روز‌آوري اطلاعات جداول وجود دارد ؟
لطفا راهنمائي كنيد .
با تشكر

merced
چهارشنبه 18 شهریور 1388, 21:55 عصر
اگه با دستورات Append و Post‌ استفاده مي كنيد لازم نيست جدول را باز و بسته كنيد

ضمناً چه لزومي داره 500000 ركورد رو همزمان نمايش بدين ؟؟ با يك كوئري مناسب تعداد ركورد هاي يك بازه (مثلاً بازه زماني) و در حد 100 ركورد رو از ديتابيس درخواست كنيد. تا زمان كمتري بگيره. هيچ كاربري نيازي به 500000 ركورد كنار هم نداره

delphiprog3000
جمعه 03 مهر 1388, 02:11 صبح
با سلام خدمت دوستان
در يكي از جداول بانك Sql Server بيش از 500000 ركورد دارم و وقتي ركورد جديد اضافه ميكنم تا زماني كه جدول را بسته و دوباره باز كنم اطلاعات نمايش داده نميشوند و باز و بسته كردن جدول هم زمان‌بر است . آيا راه ديگري براي به روز‌آوري اطلاعات جداول وجود دارد ؟
لطفا راهنمائي كنيد .
با تشكر

با سلام دوست گرامی این لینک به شما کمک میکنه.


http://barnamenevis.org/forum/showthread.php?t=144293&highlight=requery
موفق باشید...............

m_r_moini
دوشنبه 13 مهر 1388, 07:35 صبح
دوست عزيز ،
جدولي كه باز مي‌كنم مربوط به اطلاعات بيماران پذيرش شده در يك مركز درماني است . زماني كه بيمار جديدي پذيرش مي‌شود ابتدا در جدول مذكور براساس نوع بيمه و شماره بيمه جستجو شده و در صورتيكه قبلا پذيرش نشده باشد در جدول درج شده و در غير اينصورت اطلاعات مربوط به بيمار نمايش داده مي‌شود .
باز كردن اين جدول با تعداد بيش از 500000 ركورد زمان‌بر است . چه راهي براي افزايش سرعت برنامه در باز كردن جدول پيشنهاد مي‌كنيد .
در ضمن بانك اطلاعاتي SQL Server 2000 و برنامه تحت دلفي 7 مي‌باشد .
با تشكر

mehdimdp
دوشنبه 13 مهر 1388, 09:04 صبح
دوست عزيز ،
جدولي كه باز مي‌كنم مربوط به اطلاعات بيماران پذيرش شده در يك مركز درماني است . زماني كه بيمار جديدي پذيرش مي‌شود ابتدا در جدول مذكور براساس نوع بيمه و شماره بيمه جستجو شده و در صورتيكه قبلا پذيرش نشده باشد در جدول درج شده و در غير اينصورت اطلاعات مربوط به بيمار نمايش داده مي‌شود .
باز كردن اين جدول با تعداد بيش از 500000 ركورد زمان‌بر است . چه راهي براي افزايش سرعت برنامه در باز كردن جدول پيشنهاد مي‌كنيد .
در ضمن بانك اطلاعاتي SQL Server 2000 و برنامه تحت دلفي 7 مي‌باشد .
با تشكر

سلام

پيشنهاد ميكنم كه براي جستجو از دستورات SQL استفاده كنيد كه نياز به بازكردن تمام 500هزارركورد نداشته باشيد.

amir_ir
دوشنبه 13 مهر 1388, 19:34 عصر
[quote=merced;801456]اگه با دستورات Append و Post‌ استفاده مي كنيد لازم نيست جدول را باز و بسته كنيد

سلام دوست عزیز
امکانش هست یکسری دستورات sql رو مثل insert یا search رو با append یا post مثال بزنید. مثلا کد زیر :


DM2.ADOQtest.Active:=false;
DM2.ADOQtest.SQL.Clear;
DM2.ADOQtest.SQL.Text := 'SELECT * FROM TableName WHERE (date>='+QuotedStr(maskedit1.Text)+') and (date<='+QuotedStr(maskedit2.Text)+')' ;
ShowMessage(DM2.ADOQtest.SQL.Text);
DM2.ADOQtest.ExecSQL;
DM2.ADOQtest.Active:=true;
DBGrid1.DataSource.DataSet:=DM2.ADOQtest;

ممنون