PDA

View Full Version : عمليات در بانك اطلاعاتي



اوبالیت به بو
پنج شنبه 23 خرداد 1387, 18:59 عصر
خيلي واسم مهمه پس لطفاً پست بيخودي ندين كه آره اين بهتره يا اون بهتره. قشنگ با دليل بنويسيد و اگر لازم شد يه كد كوچيك بنويسيد
به نظر شما در برنامه هايي كه از بانك اطلاعاتي استفاده مي كنن كدوم روش استفاده بشه:

باز كردن بانك با اين روش (http://barnamenevis.org/forum/showpost.php?p=511373&postcount=3)
باز كردن بانك با اين روش (http://barnamenevis.org/forum/showpost.php?p=511371&postcount=2)
فرق روش اول چيه؟ اين هستش كه بانك با كد باز ميشه و با كد تغييرات توش بوجود مياد مثلاً:

Rst.AddNew
و بعد بسته ميشه تا داده ها آسيب نبينن.
ولي تو روش دوم مثلاً ديگه نميايم يه عالمه كد بنويسي تا بانك باز بشه مثلاً مينويسيم:

Adodc1.Recordset.AddNew
و در آخر بانك هم بسته نميشه.
آيا روش اول بهتر نيست؟ چون بانك بعد از هر عمليات بسته ميشه.

reza_optical
پنج شنبه 23 خرداد 1387, 19:38 عصر
سلام دوست عزیز
اولا آخر سر من نفهمیدم چرا تو میخوای با rst.open کار کنی چرا با Cnn کار نمی کنی مثال وقتی که Connection باز کردی با cnn.execute می تونی تمام کارهاتو بکنی Rst تو نمیخواد open کنی و سرعتش هم بیشتره و اینو هم میدونیم که سرعت Adodb از Adodc بیشتره
موفق باشی

اوبالیت به بو
جمعه 24 خرداد 1387, 21:55 عصر
اولا آخر سر من نفهمیدم چرا تو میخوای با rst.open کار کنی چرا با Cnn کار نمی کنی مثال وقتی که Connection باز کردی با cnn.execute می تونی تمام کارهاتو بکنی Rst تو نمیخواد open کنی و سرعتش هم بیشتره و اینو هم میدونیم که سرعت Adodb از Adodc بیشتره
موفق باشی
خوب وقتي من مي خوام به مجموعه Recordset دسترسي داشته باشم بايد يه rst بسازم.

aminkk
پنج شنبه 30 خرداد 1387, 15:57 عصر
به نظر من بانك بايد با دستور باز شود و بعد بسته شود تا داده ها آسيب نبينند
موفق باشيد

اوبالیت به بو
جمعه 07 تیر 1387, 16:08 عصر
به چيزه جديدي رسيدم:

به نظر من بانك بايد با دستور باز شود و بعد بسته شود تا داده ها آسيب نبينند
موفق باشيد

كاملاً اين حرف درست هستش. مثلاً در اين پست (http://barnamenevis.org/forum/showpost.php?p=543901&postcount=1) برنامه اي كه قرار داده شده خيلي امن هستش و سرعت بالايي داره.
متغيرها:

Dim MyCn As String
Dim Rs As New ADODB.Recordset
Dim Cn As New ADODB.Connection

و بعد براي هر كاري (مثلاً جستجو) بانك بسته شده، باز شده و بعد دوباره بسته شده:

MyCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
Cn.ConnectionString = MyCn
If Cn.State = adStateOpen Then Cn.Close
Cn.Open

Adodc1.ConnectionString = MyCn
Adodc1.RecordSource = "select * from tbi order by id"
Adodc1.Refresh

پس نبايد برنامه، بانك اطلاعاتي رو به امان خدا بسپاره مثلاً بيايم تويه يه Command بنويسيم:

Adodc1.Recordset.AddNew
يا تويه يه دكمه ديگه بنويسيم:

Adodc1.Recordset.Delete
بايد دقيقاً مثل فايل با بانك برخورد بشه.

اوبالیت به بو
شنبه 21 دی 1387, 15:08 عصر
پايان عرايض:
بهترين راه يا روش براي برنامه هاي بانك اطلاعاتي در VB6 استفاده از ADODB هستش. اونهم بدليل انعطاف زياد متد ها و امنيت كار با داده ها و Recordset هستش. در واقع كار با ADODB يعني كار با ADO. اون موقع هست كه برنامه نويس مي تونه ادعا كنه كه از ADO استفاده كرده. پس با گذاشتن يك كنترل ADODC يا DATA روي فرم نبايد تصور كنيم كه يك برنامه پايگاه داده نوشته ايم چون در واقع كاري نكرده ايم(!).
دليل اسرار من به استفاده از كد در برنامه ها اين هستش كه خودم از هرچي كار Visual و Wizard و آماده و ... بيزارم و اين يك بهانه يا دليل شخصي اما صحيح هستش.
كاري با ظاهر و عمليات هاي اين برنامه (http://barnamenevis.org/forum/showthread.php?t=105419&highlight=%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8% B1%DB%8C) ندارم اما بسيار خوب كد زده شده و نشون از تجربه خوب برنامه نويس اين برنامه در كد زني داره و من توصيه مي كنم براي كساني كه مي خوان تغيير نگرش در برنامه نويسيشون بدن خوندن كد هاي برنامه فوق هستش.
پايان

Hamid_Reza_xx
سه شنبه 01 بهمن 1387, 03:08 صبح
90 درصد حرفهاتون رو قبول دارم 10 درصدش رو هم چون vb6 بلد نيستم نمي تونم قبول كنم.
همون طور كه خودتون مي دونيد ما تويه دات نت ميام به اين صورت عمل مي كنيم:
1- sqlconnection يك رشته اتصال مي سازيم و بانك اطلاعاتي مورد نظر رو باز مي كنيم.
2- با يك sqlCommand دستور SQL مورد نظر رو مي نويسيم
3- سپس sqlDataAdapter رو آماده مي كنيم. (در صورت بازيابي)
4- dataset رو Fill مي كنيم.
5- بانك رو مي بنديم
6- DataGridView رو Bind مي كنيم به Dataset
اما در برنامه هايي كه من از اين تالار دانلود كردم هيچ كدوم بر اساس مباني يا اصول جلو نرفته بودن. خيلي ببخشين به قول شما يه adodc گذاشته بودن رو form و تمام.
اما خوم با اينكه vb6 كار نكردم مي دونم كه درست نيست و بايد با اصول جلو بره.
كلاً يه برنامه ي حرفه اي vb6 كه با پايگاه داده كار كرده باشه چي جور برنامه اي هستش؟

Mbt925
چهارشنبه 02 بهمن 1387, 10:17 صبح
دوست عزیز این دو روش هیچ تفاوتی باهم نداره.

Adodc یک کنترل (ocx) هست که از کتابخانه Adodb استفاده می کنه.
این کنترل مثل همه کنترل های اکتیوایکس قصدش اینکه که کار با پایگاه داده و اتصال به اون رو ساده کنه.

Adodb یک کتابخانه است (Activex Data Objects) برای اتصال به پایگاه داده ای.


مقایسه:
کار با Adodb دستتون رو بازتر میکنه. می تونید یه اتصال داشته باشید و چند رکوردست.
ولی در Adodc فقط می تونید یه اتصال داشته باشید. ولی کار براتون ساده تر هست.

برای مثال اگه می خواید از دستورات SQL ای مثل Update استفاده کنید، استفاده از Adodb مناسبه.