منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
استخلاص اسم قاعدة البينات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : استخلاص اسم قاعدة البينات (/showthread.php?tid=1438)



استخلاص اسم قاعدة البينات - atefkhalf2004 - 03-01-14

هناك مسار لقاعدة البيانات كالتالي مثلا

c:\aaa\data.mdb

كيف اظهر اسم القاعدة فقط

شكرا


RE: استخلاص اسم قاعدة البينات - أبوبكر سويدان - 03-01-14

السلام عليكم ورحمة الله

في المرفقات مثال على استخلاص اسم أي ملف (دون الامتداد).


RE: استخلاص اسم قاعدة البينات - atefkhalf2004 - 04-01-14

شكرا لك كثيرا
حاولت الاستفادة من الحصول علي قاعدة البيانات من مسار القاعدة المذكور واعوض به مكان اسم القاعدة في كود عمل نسخة احتياطية للقاعدة لكني فشلت

حيث ان هذا الكود ممتاز ولكن يجب ان نحدد اسم القاعدة

هل استطيع استبدال اسم القاعدة بالاسم الذي حصلت عليه من المسار كما ذكرته حضرتك

اتمني تعديل الكود شكرا

Try
If Conn.State = ConnectionState.Open Then Conn.Close()


If MsgBox("سوف يتم عمل نسخة احتياطية من قاعدة البيانات" & vbCrLf & "DataCopy وضعها في مسار البرنامج في المجلد", vbMsgBoxRight + vbExclamation + vbYesNo, "نسخ احتياطي") = MsgBoxResult.Yes Then


Application.DoEvents()


'اذا وجد نسخة بهذا الاسم يمسحها
If IO.File.Exists(Application.StartupPath & "\Compact.mdb") Then
IO.File.Delete(Application.StartupPath & "\Compact.mdb")

End If


' كود ضغط واصلاح قاعدة البيانات

Dim Engine

Engine = CreateObject("JRO.JetEngine")

Engine.CompactDatabase("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\elmy_thanawy.mdb;user id=admin;jet oledb:database password=123321", _
"provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\Compact.mdb;user id=admin;jet oledb:database password=123321")


'كود حذف قاعدة البيانات القديمة

Kill(Application.StartupPath & "\elmy_thanawy.mdb")



'كود اعادة تسمية قاعدة البيانات التي تم ضغطها واصلاحها

My.Computer.FileSystem.RenameFile(Application.StartupPath & "\Compact.mdb", "elmy_thanawy.mdb")


'كود التحقق من وجود المجلد DataCopy
If IO.Directory.Exists(Application.StartupPath & "\DataCopy") = False Then


'ان لم يكن موجد يقوم بانشاء مجلد جديد
IO.Directory.CreateDirectory(Application.StartupPath & "\DataCopy")


''انشاء مجلد جديد في وضع مخفي
'IO.Directory.CreateDirectory(Application.StartupPath & "\DataCopy").Attributes = FileAttributes.Hidden

End If





'كود نسخة قاعدة البيانات باسخدام البروجريس بار والتاريخ


Dim GregorianDTF As System.Globalization.DateTimeFormatInfo = New System.Globalization.CultureInfo("Ar-Sy", True).DateTimeFormat

GregorianDTF.Calendar = New System.Globalization.GregorianCalendar

Dim DToday As String = DateTime.Today.ToString("dd-MM-yyyy", GregorianDTF)




Dim CopyFrom, CopyTo As String

CopyFrom = Application.StartupPath & "\elmy_thanawy.mdb"

CopyTo = Application.StartupPath & "\DataCopy\" & DToday & ".mdb"

ProgressBar1.Visible = True


Dim sr As New IO.FileStream(CopyFrom, IO.FileMode.Open)
Dim sw As New IO.FileStream(CopyTo, IO.FileMode.Create)

Dim len As Long = sr.Length - 1


For i As Long = 0 To len

sw.WriteByte(sr.ReadByte)

If i Mod 1000 = 0 Then

Application.DoEvents()

ProgressBar1.Value = i * 100 / len



End If

Next



'كود البحث عن قواعد البيانات لغاية قبل شهر من تاريخ اليوم ويقوم بحذفها مع ترك اخر قاعدتين بتاريخ قبل يوم



Dim DAddDays As DateTime = GregorianDTF.Calendar.AddDays(DateTime.Today, -1)

Dim DAddMonths As DateTime = GregorianDTF.Calendar.AddMonths(DateTime.Today, -3)

Dim D_AddDays As String = DAddDays.ToString("dd-MM-yyyy", GregorianDTF)

Dim D_AddMonths As String = DAddMonths.ToString("dd-MM-yyyy", GregorianDTF)


Do Until D_AddMonths = D_AddDays

If IO.File.Exists(Application.StartupPath & "\DataCopy\" & D_AddMonths & ".mdb") = True Then
Kill(Application.StartupPath & "\DataCopy\" & D_AddMonths & ".mdb")
End If


DAddMonths = GregorianDTF.Calendar.AddDays(DAddMonths, 1)

D_AddMonths = DAddMonths.ToString("dd-MM-yyyy", GregorianDTF)

Loop


'End
End If

Catch ex As Exception

MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

End

End Try


RE: استخلاص اسم قاعدة البينات - vbnet - 13-06-14

.....

كود :
'
Dim file As String = "C:\Users\Admin\Desktop\NewFolder\database1.mdb"
Dim result As String
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetFullPath(file)                  ' C:\Users\Admin\Desktop\NewFolder\database1.mdb
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetPathRoot(file)                  ' C:\
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetDirectoryName(file)             ' C:\Users\Admin\Desktop\NewFolder
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetFileName(file)                  ' database1.mdb
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetFileNameWithoutExtension(file)  ' database1
'-----------------------------------------------------------------------------------------------------
result = IO.Path.GetExtension(file)                 ' .mdb
'-----------------------------------------------------------------------------------------------------

.....