نمایش نتایج 1 تا 24 از 24

نام تاپیک: استفاده از progress bar در پشتيبان گيري

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    استفاده از progress bar در پشتيبان گيري

    سلام
    من بانك اطلاعاتي برنامم رو با SQL ساختم حالا موقعي كه از بانكم پشتيبان مي گيرم براي چند لحظه برنامم هنگ مي كنه حالا مي خوام موقعي كه برنامه درگيره يك progress bar نمايش داره بشه و روند كارو نشون بده
    حالا كسي بلده روند پشتبانگيري رو با progress bar هماهنگ كنه

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوستان من منتظرم چي شد......................

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    يعني هيچ كس بلد نيست

  4. #4
    کاربر دائمی آواتار parsehvb
    تاریخ عضویت
    آذر 1387
    محل زندگی
    جلوی کامپیوتر
    پست
    124

    نقل قول: استفاده از progress bar در پشتيبان گيري

    می تونی از این نمونه ایده بگیری
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی آواتار parsehvb
    تاریخ عضویت
    آذر 1387
    محل زندگی
    جلوی کامپیوتر
    پست
    124

    نقل قول: استفاده از progress bar در پشتيبان گيري

    این یکی رو هم نگاه کن
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوست من اگه مي شه بيشتر بران توضيح بده

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوستان من هنوز منتظرم كسي نيست مارو راهنمايي كنه

    ////////////////................................\\\\\\\\\\\\\\\\\

  8. #8
    کاربر دائمی آواتار ALI TT
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    C:\WINDOWS\system32
    پست
    351

    نقل قول: استفاده از progress bar در پشتيبان گيري

    منظورت از پشتیبان گیری ، همان کپی کردن بانک هستش ؟

    شما بگید چگونه پشتیبان می گیرید تا کمکتون کنم
    آخرین ویرایش به وسیله ALI TT : یک شنبه 15 شهریور 1388 در 20:26 عصر

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    نقل قول نوشته شده توسط ALI TT مشاهده تاپیک
    منظورت از پشتیبان گیری ، همان کپی کردن بانک هستش ؟

    شما بگید چگونه پشتیبان می گیرید تا کمکتون کنم

    اين كل كدي است كهمن توي فرم پشتيبان گيري نوشتم




    Imports System.Data
    Imports System.Data.SqlClient
    Imports Microsoft.SqlServer.Management.Smo
    Imports Microsoft.SqlServer.Management.Common

    Public Class FrmBackUp
    Dim path As String
    Private strsql As String
    Private con As SqlConnection
    Private da As SqlDataAdapter
    Private com As SqlCommand
    Private ds As DataSet

    Public Shared Sub BackupDatabase(ByVal ConnectionStr As String, ByVal DevicePath As String, ByVal FileName As String)
    Dim DataName As String = FileName
    Using cnn As New SqlConnection(ConnectionStr)
    cnn.Open()
    Dim Srvcon As New ServerConnection(cnn)
    Dim Srv As New Server(Srvcon)
    ' Create backup device item for the backup
    Dim bdi As New BackupDeviceItem(DataName, DeviceType.File) 'DevicePath &
    ' Create the backup informaton
    Dim Backup As New Backup
    Backup.Devices.Add(bdi)

    With Backup
    'Type Of Backup
    .Action = BackupActionType.Database
    .BackupSetDescription = "Backup DataBase"
    .BackupSetName = "DB"
    .Database = cnn.Database.ToString()
    .LogTruncation = BackupTruncateLogType.Truncate
    'Backup.ExpirationDate = New DateTime(2007, 5, 1)
    ' Run the backup
    .SqlBackup(Srv)
    End With
    End Using
    End Sub

    Private Sub cmdPath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPath.Click
    SaveFile.Filter = "Backup File (*.Bak)|*.bak"
    SaveFile.ShowDialog()
    txtPath.Text = SaveFile.FileName
    'SaveFile.FileName
    End Sub

    Private Sub FrmBackup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.MdiParent = Frmmain
    Try
    con = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try

    End Sub

    Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click
    L.Text = "چند لحظه منتظر بمانيد"
    path = txtPath.Text
    BackupDatabase(con.ConnectionString, SaveFile.FileNames.ToString, SaveFile.FileName)
    L.Text = "پشتيبان گيري با موفقييت انجام شد"
    L.ForeColor = Color.Green
    End Sub

    Private Sub cmdBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBack.Click
    Me.Close()
    End Sub
    End Class


  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کرج
    پست
    74

    نقل قول: استفاده از progress bar در پشتيبان گيري

    در مورد هنگ کردن شما باید کد بک آپ رو در یک ریسمان جداگانه بنویسی

    اما در مورد هماهنگ کردن زمان و نمایش یک progres bar با توجه به اینکه به موارد بسیاری از جمله حجم فایل سرعت هارد و سرعت کامپیوتر وابسته هست این کار به طور دقیق شدنی نیست همانطور که میبینیم شرکت ادوبی در ویزارد نصب همین مشکل رو داره و یکی دو دقیقه در زمان صفر ثانیه! باقی میمونه. همینطور در ویندوز ایکس پی یا در ویستا که برای کپی هر فایلی میبینیم زمانی رو برای محاسبه زمان هدر میده و در اخر هم غلط از آب در میاد

  11. #11
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    در مورد هنگ کردن شما باید کد بک آپ رو در یک ریسمان جداگانه بنویسی
    مي شه بيشتر توضيح بدين

  12. #12
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کرج
    پست
    74

    نقل قول: استفاده از progress bar در پشتيبان گيري

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

    public class counter
    public Max as integer
    Public Event Done(byval Number as integer)
    sub Count()
    dim intTotal as integer=0
    For intLoopIndex As Integer=1 To Max
    intTotal+=1
    Next
    RaiseEvent Done(intTotal)
    End Sub
    End Class


    حالا تو فرم اصلی یک شئی از این کلاس ایجاد میکنیم و ...:


    Dim CounterObj as new Counter
    Private sub Button1_Click(ByVal sender as system.Object,ByVal e as system.EventArgs) Handles Button1.Click
    Thread1 = New System.Threading.Thread(AddressOf CounterObj.Count)
    TextBox2.text=""
    CounterObj.Maximum=Val(TextBox1.text)
    AddHandler CounterObj.Done, AddressOf DoneEvent
    Thread1.start()
    End Sub

    Sub DoneEvent(Byval Number as Integer)
    TextBox2.Text=Number
    End Sub

    البته کامپیوتری که من باهاش دارم اینها رو مینویسم روش VS نصب نیست اگر یکم بهم ریخته هست شما به بزرگی خودتون ببخشید
    آخرین ویرایش به وسیله Hesamzadeh : پنج شنبه 19 شهریور 1388 در 13:57 عصر دلیل: vBulletin

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوست اگه ميشه بيشتر توضيح بديد

  14. #14
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    نقل قول: استفاده از progress bar در پشتيبان گيري

    با تشکر
    میشه در مورد همین برنامه نویسی thread ها بیشتر توضیح بدی.به نظر من هم کار مفیدیه.حتی موقع پرینت.چون میشه کار پرینت را با سایر عملیات بانک همزمان کرد.

  15. #15
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کرج
    پست
    74

    نقل قول: استفاده از progress bar در پشتيبان گيري

    خوب ببینید به هر قطعه کدی که بطور مستقل اجرا میشود ریسمان(Thread) گفته میشود مثل هر برنامه ای که شما مینویسید یا برنامه هایی که در کامپیوتر ظاهرا هم زمان اجرا میشوند.
    کامپیوتر هر ریسمان را در یک برش زمانی(Slice) مستقل اجرا میکند و به همین دلیل است که به نطر میرسد بطور همزمان ایجاد میشوند.
    خوب برای ایجاد یک ریسمان جدید شما باید یک شیئ مستقل ایجاد کنید برای این منظور نیاز به یک کلاس داریم که کدهای مورد نظر رو در آن بنویسیم
    خوب حالا کدها رو نوشته اید و برنامه رو اجرا کردید ولی آیا نباید از پایان عملیات ریسمان اطلاع داشته باشید؟ خوب برای این منظور باید یک Event به کلاس خود اضافه کنید که پایان عملیات کلاس را به شما اعلام کند
    همانطور که در مثال بالا میبینید:

    RaiseEvent Done(intTotal)

    که این Event پایان شمارش رو با اعلام عدد آخر به برنامه اعلام میکنه.
    خوب حالا این ریسمان چطور شروع به کار میکنه؟ برای این کار شما باید یک شیئ جدید از این کلاس در برنامه تون ایجاد کنید و سپس در هنگام ایجاد ریسمان (شیئ Thread) جدید ادرس متد مورد نظر از کلاسی که نوشته بودید رو به سازنده کلاس Thread پاس کنید
    البته اگر متدهایی که به سازنده کلاس ریسمان پاس میشوند دارای آرگومتن باشند نباید این آرگومانها رو قید کرد
    دستورات زیر در مثال بالا:

    Dim CounterObj as new Counter

    Thread1 = New System.Threading.Thread(AddressOf CounterObj.Count)


    سپس مقادیر مورد نیاز شیئ رو ست میکنیم
    سپس روال رویداد شیئ رو مینویسیم و فعال میکنیم(همانگونه که برای کنترلهای داینامیک انجام میدادیم) و در آخر ریسمان رو اجرا میکنیم:



    TextBox2.text=""
    CounterObj.Maximum=Val(TextBox1.text)
    lAddHandler CounterObj.Done, AddressOf DoneEvent
    Thread1.start()
    End Sub
    Sub DoneEvent(Byval Number as Integer)
    TextBox2.Text=Number
    End Sub

    خوب کار تمام شد
    خوب حالا ممکن است به هر دلیل بخواهید ریسمان رو برای مدتی در حین کار به حالت تعلیق در بیاورید خوب برای این کار از متد Suspend کلاس Thread استفاده میکنیم:

    Thread1.suspend()


    و برای ادامه کار از متد Resume:

    Thread1.Resume()


    خوب برای توقف ریسمان هم از Abourt استفاده میکنیم
    برای تعلیق موقت ریسمان و شروع خودکار اون هم از متد Sleep استفاده میسه که ریسمان رو بر حسب میلی ثانیه به حالت تعلیق درمیاره مثلا برای یک ثانیه باید عدد 1000 رو وارد کنید.
    خوب ریسمان یک سری مسائل دیگه هم داره از جمله Priority یا تعیین اولویت ریسمان نسبت به ریسمانهای دیگه یا خاصیت ThreadState برای تشخیص حالت ریسمان که مقداری از نوع شمارشی بر میگرداند و دیگری همزمانی ریسمانها(Synchronize) که از حوصله تایپ کردن من فعلا خارج شد فقط تا همین حد بگم که یکی دستور SyncLock هست و دیگری متد Join
    خوب موفق باشید
    آخرین ویرایش به وسیله Hesamzadeh : یک شنبه 22 شهریور 1388 در 14:29 عصر

  16. #16
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    ببخشيد دوست من اگه مي شه يك نمونه كد برام بزاريد

    ممنون

  17. #17
    کاربر دائمی آواتار Ali_Mor
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کره خاک، البته بصورت موقتی
    پست
    259

    نقل قول: استفاده از progress bar در پشتيبان گيري

    این مقاله رو بخون، توضیح داده که چگونه می توان پشتیبان گیری نمود. از همان روش SMO استفاده کرده که شما در بالا آورده اید اما امکان تشخیص میزان پیشرفت کار هم در آن وجود دارد
    http://www.codeproject.com/KB/databa...reWithSmo.aspx

  18. #18
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوستان من هنوز منتظرم





    0000000000000000

  19. #19

    نقل قول: استفاده از progress bar در پشتيبان گيري

    این یه نمونه با smo
    فایل های ضمیمه فایل های ضمیمه

  20. #20
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    دوست من
    من از روشي كه در پست پشتيبان گيري از SQL در VB.net ‏ توضيح داده شده استفاده كردم

    اگه كسي مي تونه كمك كنه

  21. #21

    نقل قول: استفاده از progress bar در پشتيبان گيري

    با این روش فقط میتونی انجامش بدی
    فایل های ضمیمه فایل های ضمیمه

  22. #22
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    نقل قول نوشته شده توسط saadi2 مشاهده تاپیک
    با این روش فقط میتونی انجامش بدی
    دوست من من نتونستم از اين كد استفاده كنم
    به نظر من اين كد فقط يك
    progress bar رو با يك تايمر پر مي كنه و ارتباطي با پشتيبان گيري ندارده

    ممنون مي شم بيشتر توضيح بدي

  23. #23

    نقل قول: استفاده از progress bar در پشتيبان گيري

    آره دقیقا
    هیچ کدی نیست که بشه باهاش در این روش بکاپ گیری رو پیشرفتشو تو پروگرس بار نشون داد چون فقط یک دستور ساده اسکیوال هست. مثل بقیه دستورهای delete , insert, update پس باید به شکل نمایشی فقط این کارو بکنی.

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

  24. #24
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    353

    نقل قول: استفاده از progress bar در پشتيبان گيري

    يعني هيچ روشي وجود نداره براي اين كار

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •