PDA

View Full Version : سوال: مشکل در زمان (detach)بودن برنامه



morteza@z
چهارشنبه 21 دی 1390, 17:29 عصر
سلام من یک برنامه نوشتم که کاربر می تواند نام کاربری و رمز عبور را بدهد و وارد برنامه بشود و در خود برنامه آن را تغییر بدهد و این تغییرات در جدولی در پایگاه داده اش که(sql2000) ذخیره می شود و هر بار که بخواهد نام کاربری و رمز عبور را بدهد برنامه چک کرده و اگر درست باشد وارد میشود مشکل من در این جا است که وقتی که کاربر برنامه (detach)میکند کار بر دفعه بعد نمی توان وارد برنامه شود چون دیتا بیس (attach)نیست نمی تواند نام کاربری و رمز عبور را وارد کند خوا هش می کنم راهنمایی کنید که چه کار باید به کنم با تشکر؟

mgh64120
چهارشنبه 21 دی 1390, 17:42 عصر
سلام دوست عزيز
از تابع زير براي Attach كردن ديتابيس به SQL استفاده كنيد.
فقط به جاي DBName نام ديتابيس خودت رو بزار.


Public Sub AttachDB()
'
Dim cmd As New SqlCommand()
Dim txt As String
Dim FileOpen As New OpenFileDialog
'
FileOpen.Filter = "SQL Database File (*.mdf)|*.mdf"
FileOpen.InitialDirectory = True
FileOpen.CheckPathExists = True
'
If FileOpen.ShowDialog = Windows.Forms.DialogResult.OK Then
Try
txt = "sp_attach_db @dbname = N'DBName', " & vbCrLf & _
"@filename1 = N'" & FileOpen.FileName & "', " & vbCrLf & _
"@filename2 = N'" & Replace(FileOpen.FileName, "DBName.mdf", "DBName_Log.ldf") & "'"
FileOpen.Dispose()
'
cmd.CommandText = txt
Try
cmd.Connection = Cnn
cmd.ExecuteNonQuery()
MessageBox.Show("!اتصال به بانك اطلاعاتي با موفقيت انجام شد", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As SqlException
MessageBox.Show(ex.Message, "")
Finally
Cnn.Close() : Cnn = Nothing : cmd = Nothing
End Try
'
Catch FileException As Exception
Throw FileException
End Try
End If
'
End Sub

موفق باشيد...

morteza@z
چهارشنبه 21 دی 1390, 20:33 عصر
سلام دوست من منظروم (attach) کردن دیتا بیس نیست سوالم را دوباره بخون من می خوام فرم لوگین کش اجرا بشه در زمان (detach)دیتا بیس

mgh64120
چهارشنبه 21 دی 1390, 23:14 عصر
مشکل من در این جا است که وقتی که کاربر برنامه (detach)میکند کار بر دفعه بعد نمی توان وارد برنامه شود چون دیتا بیس (attach)نیست نمی تواند نام کاربری و رمز عبور را وارد کند

سلام دوست عزيز
چه لزومي داره كه به كاربر اجازه بديد كه ديتابيس رو Detach كنه؟
اگر ميخواهيد كه نام كاربري و كلمه عبور در ديتابيس ذخيره شود، براي Login بايد ديتابيس به SQL وصل(Attach) باشه.
موفق باشيد...