PDA

View Full Version : سوال: UDL و طریقه استفاده از آن



nima_8m
جمعه 12 شهریور 1389, 02:53 صبح
با سلام به اساتید محترم.
من میخواستم بدونم چطوری میشه از UDL در برنامه استفاده کرد و مزیتاش چیه
در اصل کانکشنش با برنامه چطوری برقرار میشه
ممنونم.

nima_8m
جمعه 12 شهریور 1389, 14:52 عصر
اگه از اساتید محترم اطلاعاتی راجع به UDL و نحوه کار اون با VB داره ممنون میشم راهنمایی کنید

SilverGold
دوشنبه 15 شهریور 1389, 00:32 صبح
سلام برام خیلی جالبه تو این چند سال این کلمه به گوشم نخورده بود می تونین خودتون یک کم توضیح بدین

nima_8m
دوشنبه 15 شهریور 1389, 22:22 عصر
با سلام
پست و که دیدم خیلی خوشحال شدم که بالاخره یکی جواب داد
UDL سر نام universal data link هست به عنوان یه رابط با بانک اطلاعاتی میتونید ازش استفاده کنید تو شبکه و بانکهای اطلاعاتی جدا از هم خوب کار میده واسه درست کردنش کافیه که یه new notpad تو صفحه بسازی و پسوندش رو به udl تغییر بدی بقیه اش رو خودت میبینی و حتماً بیشتر از من دستت میاد اگه کشفی کردی ما رو هم بی نصیب نزار
ممنون

hrj1981
سه شنبه 16 شهریور 1389, 07:00 صبح
یه نمونه سورس از سایت devx

Read and Write UDL files
Universal Data link files are handy for select data sources but there isn't a way to create/edit this files. This little class shows how to read/write a UDL file.
'-----------------------
' The cUDL Class
'-----------------------
'please visit www.shoutsoft.com (http://www.shoutsoft.com) for Tools building VB database application.
Private Const CON_UDL_LINE1 = "[oledb]"
Private Const CON_UDL_LINE2 = "; Everything after this line is an OLE DB " _
& "initstring"
Private mvarADOConnectString As String
Public Property Let ADOConnectString(ByVal vData As String)
mvarADOConnectString = vData
End Property
Public Property Get ADOConnectString() As String
ADOConnectString = mvarADOConnectString
End Property
Public Function CreateUDL() As Boolean
On Error GoTo Err_CreateUDL
Dim pDataLink As New DataLinks, pConn As Connection

Set pConn = pDataLink.PromptNew
pConn.Open
mvarADOConnectString = pConn.ConnectionString
pConn.Close

CreateUDL = True
Exit Function
Err_CreateUDL:
CreateUDL = False
End Function
Public Function OpenUDL(Optional ByVal strConnectString As String) As Boolean
On Error GoTo Err_OpenUDL
Dim pDataLink As New DataLinks, pConn As New Connection
If mvarADOConnectString = vbNullString Then
OpenUDL = CreateUDL
Exit Function
Else
pConn.ConnectionString = mvarADOConnectString
If pDataLink.PromptEdit(pConn) Then
pConn.Open
mvarADOConnectString = pConn.ConnectionString
pConn.Close
End If
End If
OpenUDL = True
Exit Function
Err_OpenUDL:
OpenUDL = False
End Function
Public Sub SaveToFile(ByVal strUDLFile As String)
Dim strBuf As String, intFileNum As Integer

strBuf = CON_UDL_LINE1 & vbCrLf & CON_UDL_LINE2 & vbCrLf & _
mvarADOConnectString
strBuf = StrConv(strBuf, vbUnicode)
intFileNum = FreeFile
If Dir(strUDLFile) <> vbNullString Then Kill strUDLFile
Open strUDLFile For Binary As #intFileNum
Put #intFileNum, , strBuf
Close #intFileNum
End Sub
Public Function LoadFromFile(ByVal strUDLFile As String) As Boolean
Dim intFileNum As Integer, strBuf As String, i As Integer
intFileNum = FreeFile
Open strUDLFile For Binary As #intFileNum
strBuf = Input(LOF(intFileNum), #intFileNum)
Close #intFileNum
strBuf = StrConv(strBuf, vbFromUnicode)
i = InStr(strBuf, "Provider=")
If i > 0 Then
mvarADOConnectString = Mid(strBuf, i)
LoadFromFile = True
Else
LoadFromFile = False
End If
End Function
To test the cUDL class, create a form and add three buttons on it (named cmdLoad, cmdSave, and cmdCreate) and a CommonDialog control (named dlgCommonDialog), then add this code:
Private Sub cmdLoad_Click()
Dim m_udl As New cUDL, m_FileName As String

With dlgCommonDialog
.DialogTitle = "Open"
.CancelError = False
.Flags = cdlOFNHideReadOnly
.FileName = vbNullString
'ToDo: set the flags and attributes of the common dialog control
.Filter = "Microsoft data link files (*.udl)|*.udl"
.ShowOpen
m_FileName = .FileName
If m_FileName = vbNullString Then Exit Sub
End With

With m_udl
.LoadFromFile m_FileName
.OpenUDL
End With
End Sub
Private Sub cmdNew_Click()
Dim m_udl As New cUDL, m_FileName As String

With dlgCommonDialog
.DialogTitle = "Save"
.CancelError = False
.Flags = cdlOFNOverwritePrompt
'ToDo: set the flags and attributes of the common dialog control
.Filter = "Microsoft data link files (*.udl)|*.udl"
.FileName = vbNullString
.ShowSave
m_FileName = .FileName
If m_FileName = vbNullString Then Exit Sub
End With

With m_udl
If .CreateUDL Then .SaveToFile m_FileName
End With
End Sub
Private Sub cmdSave_Click()
Dim m_udl As New cUDL, m_FileName As String

With dlgCommonDialog
.DialogTitle = "Save"
.CancelError = False
.Flags = cdlOFNOverwritePrompt
'ToDo: set the flags and attributes of the common dialog control
.Filter = "Microsoft data link files (*.udl)|*.udl"
.FileName = vbNullString
.ShowSave
m_FileName = .FileName
If m_FileName = vbNullString Then Exit Sub
End With

With m_udl
If .OpenUDL Then .SaveToFile m_FileName
End With
End Sub

nima_8m
سه شنبه 16 شهریور 1389, 22:23 عصر
با سلام
دوستان عزیز اینم یه پروژه کامل با UDL
نکات آموزشی جالبی داره البته واسه مبتدی های مثل خودم
شما بانک رو هرجا که میخواید بزارید شبکه ،هاست و ... فقط با یه کانکشن ساده udl رو تنظیم کنید.
موفق باشید

end_of_110
سه شنبه 18 آبان 1389, 17:29 عصر
اجرا نشدن UDL در ویندوز 7 64 بیتی ، چه می شود کرد .
برنامه من در ویندوز xp 32bit بدون هیچ مشکلی با udl کار می کنه ، اما برای مشتری که نوت بوک با ویندوز 7 64 بیتی داره و ویندوزش اصلی می باشد ، برنامه من اجرا نمی شود
حیثت برنامه نویسی مرا زیر سوال برده
اگه کسی اطلاعی داره لطفآ
کمک