ADO và connection string

  • Thread starter levanduyet
  • Ngày gửi
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Chào các bạn,
Vừa rồi tôi có gặp trục trặc một ít về vấn đề này. Tìm kiếm trên internet mới thấy địa chỉ này, xin giới thiệu với các bạn trong trường hợp các bạn cũng gặp vấn đề như tôi.
http://www.connectionstrings.com/
Website này có đầy đủ các connection string.
Thân,

Lê Văn Duyệt
 
Khóa học Quản trị dòng tiền
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
He hi, cái vấn đề "gian đởn" này mà bọn nó cũng phải cho cả 1 domain cơ à. :biggrin:

Kể ra cái domain cũng đẹp đấy. Nhưng mà hơi phí vì chỉ cần mỗi file html là xong. Ngay trong codeproject cũng có.
 
Sửa lần cuối:
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
hai2hai nói:
He hi, cái vấn đề "gian đởn" này mà bọn nó cũng phải cho cả 1 domain cơ à. :biggrin:

Kể ra cái domain cũng đẹp đấy. Nhưng mà hơi phí vì chỉ cần mỗi file html là xong. Ngay trong codeproject cũng có.
Chào Hai,
Em có ví dụ nào trong Visual basic, dùng ADO để thao tác với CSDL Visual Foxpro k? Nếu có gởi cho anh tham khảo.
Cám ơn nhiều.
Thân,

Lê Văn Duyệt
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
levanduyet nói:
Chào Hai,
Em có ví dụ nào trong Visual basic, dùng ADO để thao tác với CSDL Visual Foxpro k? Nếu có gởi cho anh tham khảo.
Cám ơn nhiều.
Thân,

Lê Văn Duyệt

ODBC Driver For Visual FoxPro

With a database container:
oConn.Open "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBC;" & _
"SourceDB=c:\somepath\mySourceDb.dbc;" & _
"Exclusive=No;"

Without a database container (Free Table Directory):
oConn.Open "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=c:\somepath\mySourceDbFolder;" & _
"Exclusive=No;"


For more information, see: Visual FoxPro ODBC Driver and Q165492

OLE DB Data Link Connections
Data Link File (UDL)

For Absolute Path:
oConn.Open "File Name=c:\somepath\myDatabaseName.udl;"

For Relative Path:
oConn.Open "File Name=myDatabaseName.udl;"

For more information, see: HOWTO: Use Data Link Files With ADO
Note: Windows 2000 no longer contains the "New | Microsoft Data Link"
menu anymore. You can add the Data Link menu back in the menu list
by running the "C:\Program Files\Common Files\System\Ole DB\newudl.reg"
reg file, Then right-click on the desktop and Select "New | Microsoft Data
Link " menu."
Or you can also create a Data Link file by creating a text file and change
It 's file extension To ".udl", Then double-click the file.

OLE DB Provider For Visual FoxPro
oConn.Open "Provider=vfpoledb;" & _
"Data Source=.\MyDB.dbc;"


For more information, see: Microsoft OLE DB Provider for Visual FoxPro
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Ặc ặc, em tưởng anh hỏi về ConnectionStrings để truy cập Visual Foxpro chứ (Vì chủ đề này là ConnectionString mà). Post xong rồi đọc lại mới thấy anh hỏi về ví dụ. :)

Làm việc ADO trong VB khi truy cập với Visual Foxpro database thì khó khăn ở điểm nào hả anh Duyệt? Đối với ADO thì sau khi tạo connection, ta làm việc trên Connection đó với các đối tượng OLE DB Recordset như bình thường, có gì khác biệt hả anh? ADO thao tác với file text còn được mà, anh cứ coi dbf files là text file đi :). Làm việc với database nói chung quanh quẩn chỉ là CRUD thôi mà (Create, Retrieve, Update, Delete).

P/S: Anh đừng dùng Bound control trong VB để làm việc với Database nhé, nó ko chuyên nghiệp tý nào đâu.

Với lại, với 3 từ khóa trên em thấy toàn là đồ M$, như vậy anh chỉ cần đọc MSDN của M$ là có đủ cả. Em removed Visual Basic cùng với tất cả các ngôn ngữ lập trình (Dĩ nhiên là giữ lại MS .NET framework 2.0) ra khỏi máy xách tay rồi anh ạ.

Tham khảo:
http://fox.wikis.com/wc.dll?Wiki~UsingADO
http://www.codecomments.com/Visual_Basic_Database_ADO/message771254.html
http://www.motobit.com/tips/detpg_asp-dbf-database/
....

Nói tóm lại là google: ADO + Visual Foxpro + Samples :)
 
Sửa lần cuối:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear anh 2,
-----------
hai2hai nói:
Em remove Visual Basic cùng với tất cả các ngôn ngữ lập trình ra khỏi máy xách tay rồi anh ạ.
Anh 2 remove mấy cái đó ra khỏi máy xách tay thì còn được chứ anh mà remove hay format cái đầu của anh là không xong với em đâu nhá! :biggrin:
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net

Function GetConnDBF(ByVal cFileName As String) As ADODB.Connection
On Error GoTo loi:
'Open the ADO connection to the Excel workbook
Dim oconn As ADODB.Connection
Set oconn = New ADODB.Connection

oconn.Open "Provider=MSDASQL;" & _
"SourceDB=" & cFileName & ";" & _
"SourceType=DBF;Exclusive=No"
loi:
Set GetConnDBF = oconn
Set oconn = Nothing
If err.Number <> 0 Then Set GetConnDBF = Nothing
End Function
====================================================
Sub Xuly()
Dim oconn As ADODB.Connection
Dim oRS As ADODB.Recordset

Set oconn = GetConnDBF("d:\DATA")
cSQL = "Select * from Dmhang"
Set oRS = GetRS(cSQL, oconn)
End Sub


Khi đã nậnh được Connection thì mội cái không khó gì cả.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Tuanktcdcn nói:

Function GetConnDBF(ByVal cFileName As String) As ADODB.Connection
On Error GoTo loi:
'Open the ADO connection to the Excel workbook
Dim oconn As ADODB.Connection
Set oconn = New ADODB.Connection

oconn.Open "Provider=MSDASQL;" & _
"SourceDB=" & cFileName & ";" & _
"SourceType=DBF;Exclusive=No"
loi:
Set GetConnDBF = oconn
Set oconn = Nothing
If err.Number <> 0 Then Set GetConnDBF = Nothing
End Function
====================================================
Sub Xuly()
Dim oconn As ADODB.Connection
Dim oRS As ADODB.Recordset

Set oconn = GetConnDBF("d:\DATA")
cSQL = "Select * from Dmhang"
Set oRS = GetRS(cSQL, oconn)
End Sub


Khi đã nậnh được Connection thì mội cái không khó gì cả.

Chào Tuấn,
Anh không biết các bảng trong VS Foxpro được định dạng như thế nào nên anh không thể "thử" được. Anh thấy có đuôi *.DBF. Em biết không? Anh thì đã connect được với file dữ liệu (*.DBF) rồi. Còn làm sao...nữa thì anh không hiểu lắm! Em biết không?

Thân,

LVD
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
levanduyet nói:
Chào Tuấn,
Anh không biết các bảng trong VS Foxpro được định dạng như thế nào nên anh không thể "thử" được. Anh thấy có đuôi *.DBF. Em biết không? Anh thì đã connect được với file dữ liệu (*.DBF) rồi. Còn làm sao...nữa thì anh không hiểu lắm! Em biết không?

Thân,

LVD

Chết chết, anh ơi, đây là vấn đề thuộc về ADO rồi mà anh. Anh phải đọc trên MSDN về ADO cho nó căn bản thôi.

Trong Database có vài món căn bản (ko tính tới chuyện cao cấp storeproc, triggers, turning SQL... "vớ vẩn" :) đâu nhé) là CRUD (Creat = New, R = Read, U = Update, D = Delete). Làm trời làm biển gì thì vẫn chỉ thế thôi mà.
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all,
--------
Giờ em lại có nhu cầu cập nhật thông tin một bảng *.dbf các bác ạ!
Em đã connect được vào database và hiển thị lên form, song không thể Edit được(!) Em đã cố gắng nghiên cứu nhưng chưa tìm ra, mong nhận được sự hỗ trợ của bác. Nếu có thể, các bác cho em một ví dụ cụ thể minh hoạ việc truy cập và update cơ sở dữ liệu MS Foxpro từ MS Access thì khoẻ cho nhà em quá.
Thôi thì tinh thần giúp đỡ nhau là chính, các bác đừng bảo em sử dụng Google nhé!
Cám ơn tất cả các bác!
Dưới đây là thủ tục kết nối và gán ControlSource cho các textbox trên form. Các bác kiểm tra giúp em xem vì sao trên màn hình nhập liệu em chỉ được Read-Only thôi ạ:
Private Sub Form_Load()
Set cnn = New ADODB.Connection
cnn.ConnectionString = "provider =vfpoledb.1;; data source=C:\UBSSTK90\DATA\icitem.dbf"
cnn.Mode = adModeReadWrite
cnn.Open
Set rstICITEM = New ADODB.Recordset
rstICITEM.ActiveConnection = cnn
rstICITEM.Open "ICITEM", , adOpenStatic, adLockOptimistic
Set Me.Recordset = rstICITEM
Dim txb As Control
For Each txb In Me.Controls
If TypeName(txb) = "TextBox" Then txb.ControlSource = txb.name
Next
End Sub
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
levanduyet nói:
Chào Tuấn,
Anh không biết các bảng trong VS Foxpro được định dạng như thế nào nên anh không thể "thử" được. Anh thấy có đuôi *.DBF. Em biết không? Anh thì đã connect được với file dữ liệu (*.DBF) rồi. Còn làm sao...nữa thì anh không hiểu lắm! Em biết không?

Thân,

LVD

Chỉ cần anh kết nối được:
oConn: Kết nối với các Database khác nhau (Access, VFP, Excel, SQL,...)
oRS=GetRS(oConn,...)
If oRS is Nothing then
Exit Sub
Endif

Thực hiện các lệnh với oRS bình thường.
 

Xem nhiều

Webketoan Zalo OA