以下代碼打開 d:\dbf_path\dbf_file.dbf ,并將第一個(gè)記錄的第一個(gè)字段的值改為"change_value"vb.net 的代碼:imports system.data.odbc dim strconn as string ="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;" _ "SourceDB=d:\dbf_path;Exclusive=No"dim adp as odbcdataadapterdim tbl as datatable = new datatabledim conn as odbcconnection = new odbcconnectionconn.connectionstring = strconnconn.open()adp = new odbcdataadapter("select * from dbf_file", conn)adp.fill(tbl) tbl.rows(0).item(0) = "change value"adp.update(tbl)conn.close() ------------------------------------- vb6 的方法類似,記不太清楚,需要引用 ms dao 2.5/3.51 compatibility library 或以上,并需要安裝vfp 的驅(qū)動(dòng)vfpodbc.msi dim conn as adodb.connectiondim rs as adodb.recordsetdim strconn as string strconn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=dbf;Initial Catalog=D:\DBF_PATH"conn.open strconnrs.open "select * from dbf_file",conn,adopendynamic,adlockoptimistic '.... you coders.closeconn.closeset rs=nothingset conn=nothing
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有興山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
"provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=" CurDir(FilePath)
說明:CurDir(FilePath)表示DBF文件所在的目錄,如文件路徑為:F:\編程模板\ckrjz.dbf,CurDir(FilePath)返回F:\編程模板,但在查詢是DBF文件要去文件名后綴,如ckrjz.dbf在sql查詢時(shí),要把".DBF"去掉.如:
select * from [ckrjz]
1、 用The SQL Server .NET Data Provider連接數(shù)據(jù)庫
The SQL Server .NET Data Provider是利用SqlConnection類來連接SQL Server7.0或更高版本的數(shù)據(jù)庫,
SqlConnection類位于名稱空間System.Data.SqlClient下。
連接代碼:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服務(wù)器名;initial catalog=數(shù)據(jù)庫名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打開數(shù)據(jù)庫
sqlConnection1.close ‘關(guān)閉連接,釋放資源
2、 用The OLE DB .NET Data Provider連接數(shù)據(jù)庫
上面已經(jīng)說過,利用The OLE DB .NET Data Provider可以訪問Access、Oracle和SQL Server等種數(shù)據(jù)
庫,那么,它是怎樣訪問這些數(shù)據(jù)庫的呢?The OLE DB .NET Data Provider是通過位于名稱空間Sy
stem.Data.OleDb類庫下的OleDbConnection類來連接這三種不同類型的數(shù)據(jù)庫的。下面舉例說明:
1)連接SQL Server數(shù)據(jù)庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)連接Access數(shù)據(jù)庫
假設(shè)要連接的Access數(shù)據(jù)庫名為“Example.mdb”,存放在d:\Data\目錄下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)連接Oracle數(shù)據(jù)庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服務(wù)器名;User ID=用戶ID;Password=密碼;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、 用The ODBC .NET Data Provider連接數(shù)據(jù)庫
The ODBC .NET Data Provider連接數(shù)據(jù)庫是通過OdbcConnection類來實(shí)現(xiàn)的,這個(gè)類位于名稱空間
Microsoft.Data.Odbc下,而名稱空間Microsoft.Data.Odbc是封裝在Microsoft.Data.Odbc.dll文件下的。
由于篇幅有限,這里就只介紹連接Sql Server和Oracle數(shù)據(jù)庫的方法,其他數(shù)據(jù)庫的連接方法基本類
似,我就不再多講了。
1)連接Sql Server數(shù)據(jù)庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服務(wù)器名;Uid=sa;pwd=;Database= 數(shù)據(jù)庫名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)連接Oracle數(shù)據(jù)庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服務(wù)器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、總結(jié)
通過本文的介紹,讀者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET連接各種數(shù)據(jù)庫的方法
。以上三種驅(qū)動(dòng)針對(duì)不同的數(shù)據(jù)庫,它們的性能方面也有很大的不同:The SQL Server .NET Data Provider
的效率最高;The OLE DB .NET Data Provider的效率比較底;The ODBC .NET Data Provider的效率最慢。
具體連接哪一種數(shù)據(jù)庫選用哪一種數(shù)據(jù)驅(qū)動(dòng)要從工作效率方面來考慮。
以上回答你滿意么?
使用ADO~~先利用數(shù)據(jù)控件oleconnection連接到數(shù)據(jù)庫,即在oledbconnection的Connectstring屬性輸入路徑,
然后使用oledbcommand并在commandtext中選擇查詢,再使
用oledbdataadapter選擇配置數(shù)據(jù)適配器,生成dataset
注:
1 oledbcommand 主要使用SQL命令
2 oledbdataadapter相當(dāng)于在本地建一個(gè)表,有什么操作可以操作完后將結(jié)果傳回源表
告訴你一個(gè)最快的方法,用SQLServer連接DBF
在SQLServer中執(zhí)行
SELECT * into bmk
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="e:\share";User ID=Admin;Password=;Extended properties=dBase 5.0')...bmk
這樣就可以把e:\share中的bmk.dbf表導(dǎo)入到Sqlserver中,
速度是最快的
把壓箱底的方法都告訴大家
在Form上放一個(gè)ADOConnection,連結(jié)指向目標(biāo)Access庫
比如txt文件在c:\temp\aaaa.txt
就執(zhí)行
ADOConnection.Connected := True;
ADOConnection.Execute('Select * Into abcd From [Text;Database=c:\temp].aaaa.txt');
就一切Ok了,這個(gè)方法一定行的,我好不容易才研究出來的
有了這兩個(gè)例子,異構(gòu)數(shù)據(jù)庫之間導(dǎo)數(shù)據(jù)的問題就舉一反三,迎刃而解了。僅供參考,相互交流!有空到it168,365testing看看WJO。365testing.com。WJO