从VB.Net访问VFP表 [英] accessing VFP tables from VB.Net
问题描述
我试图从VFP表中提取数据的响应时间非常糟糕
使用.net - 就像2分钟一样!有人可以帮忙吗?
f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection作为OleDbConnection
Dim myOleDbCommand作为OleDbCommand
Dim myOleDbDataAdapter作为OleDbDataAdapter
Dim dt作为新数据表
Private Sub Button1_Click(ByVal sender作为System.Object,ByVal e As
System.EventArgs)处理Button1.Click
Dim starttime As DateTime
myOleDbConnection =新的
OleDbConnection(" Provider = vfpoledb.1;数据源= i:\;整理
序列=一般&);
myOleDbCommand =新OleDbCommand
myOleDbDataAdapter =新OleDbDataAdapter
昏暗字段,来自As String
fields =" select btn.btn,arcust01.l astpay,arcust01.balance"
from =" from i:\ btn,f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ btn =''9128675309''"
myOleDbCommand.CommandText = fields&来自
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show(" done!"&
Math.Round(Now。减去(starttime).TotalSeconds,4).ToString)
DataGridView1.DataSource = dt
End Sub
结束班
I''m getting terrible response times trying to pull data from VFP tables
using .net--like 2 minutes! Can someone help?
f:\arcust01 currently contains 187,728 records and is indexed on CUSTNO
i:\btn currently contains 5,999,657 records and is indexed on BTN
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection As OleDbConnection
Dim myOleDbCommand As OleDbCommand
Dim myOleDbDataAdapter As OleDbDataAdapter
Dim dt As New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim starttime As DateTime
myOleDbConnection = New
OleDbConnection("Provider=vfpoledb.1;Data Source=i:\;Collating
Sequence=general")
myOleDbCommand = New OleDbCommand
myOleDbDataAdapter = New OleDbDataAdapter
Dim fields, from As String
fields = "select btn.btn, arcust01.lastpay, arcust01.balance "
from = "from i:\btn, f:\arcust01 where btn.btn =
arcust01.custno and btn.btn = ''9128675309''"
myOleDbCommand.CommandText = fields & from
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show("done! " &
Math.Round(Now.Subtract(starttime).TotalSeconds, 4).ToString)
DataGridView1.DataSource = dt
End Sub
End Class
推荐答案
尝试
from =" from i:\ btn JOIN f:\\\\\\ btn.btn =
arcust01.custno WHERE btn.btn =''9128675309''"
或
from = 来自i:\ btn JOIN f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
确保它是一行。
-Anders
" cj" < cj@nospam.nospamwrote in message
news:%2 **************** @ TK2MSFTNGP03.phx.gbl ...
Try
from = "from i:\btn JOIN f:\arcust01 ON btn.btn =
arcust01.custno WHERE btn.btn = ''9128675309''"
or
from = "from i:\btn JOIN f:\arcust01 ON btn.btn = arcust01.custno
WHERE btn.btn = ''9128675309''"
Make sure it comes out as one line.
-Anders
"cj" <cj@nospam.nospamwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
我正在尝试从VFP表中提取数据的响应时间很长
使用.net - 就像2分钟一样!有人可以帮忙吗?
f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection作为OleDbConnection
Dim myOleDbCommand作为OleDbCommand
Dim myOleDbDataAdapter作为OleDbDataAdapter
Dim dt作为新数据表
私有子Button1_Click(ByVal sender As System.Object,ByVal e As
System.EventArgs)处理Button1.Click
Dim starttime As DateTime
myOleDbConnection =新OleDbConnection(" Provider = vfpoledb.1; Data
Source = i:\;整理序列=一般&);
myOleDbCommand =新OleDbCommand
myOleDbDataAdapter =新OleDbDataAdapter
昏暗字段,来自As String
>
fields =" select btn.btn,arcust01.lastpay,arcust01.balance"
from =" from i:\ btn,f:\ astust01其中btn。 btn = arcust01.custno
和btn.btn ='''9128675309''"
myOleDbCommand.CommandText = fields&来自
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show(" done!"&
Math.Round(Now。减去(starttime).TotalSeconds,4).ToString)
DataGridView1.DataSource = dt
End Sub
结束类
I''m getting terrible response times trying to pull data from VFP tables
using .net--like 2 minutes! Can someone help?
f:\arcust01 currently contains 187,728 records and is indexed on CUSTNO
i:\btn currently contains 5,999,657 records and is indexed on BTN
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection As OleDbConnection
Dim myOleDbCommand As OleDbCommand
Dim myOleDbDataAdapter As OleDbDataAdapter
Dim dt As New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim starttime As DateTime
myOleDbConnection = New OleDbConnection("Provider=vfpoledb.1;Data
Source=i:\;Collating Sequence=general")
myOleDbCommand = New OleDbCommand
myOleDbDataAdapter = New OleDbDataAdapter
Dim fields, from As String
fields = "select btn.btn, arcust01.lastpay, arcust01.balance "
from = "from i:\btn, f:\arcust01 where btn.btn = arcust01.custno
and btn.btn = ''9128675309''"
myOleDbCommand.CommandText = fields & from
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show("done! " &
Math.Round(Now.Subtract(starttime).TotalSeconds, 4).ToString)
DataGridView1.DataSource = dt
End Sub
End Class
我不认为oledbproviders使用foxpro索引!
cj写道:
i dont think the oledbproviders use the foxpro indexes!
cj wrote:
我试图从VFP表中提取数据的响应时间很长
使用.net - 就像2分钟一样!有人可以帮忙吗?
f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection作为OleDbConnection
Dim myOleDbCommand作为OleDbCommand
Dim myOleDbDataAdapter作为OleDbDataAdapter
Dim dt作为新数据表
私有子Button1_Click(ByVal sender As System.Object,ByVal e As
System.EventArgs)处理Button1.Click
Dim starttime As DateTime
myOleDbConnection =新
OleDbConnection(" Provider = vfpoledb.1;数据源= i:\;整理
序列=一般)
myOleDbCommand =新OleDbCommand
myOleDbDataAdapter =新OleDbDataAdapter
Dim字段,来自As String
fields =" select btn.btn,arcust01.lastpay,arcust01.balance"
from =" from i:\ btn,f :\\\carc01其中btn.btn = arcust01.custno
和btn.btn =''9128675309''"
myOleDbCommand.CommandText = fields& ;来自
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show(" done!"&
Math.Round(Now。减去(starttime).TotalSeconds,4).ToString)
DataGridView1.DataSource = dt
End Sub
结束班
I''m getting terrible response times trying to pull data from VFP tables
using .net--like 2 minutes! Can someone help?
f:\arcust01 currently contains 187,728 records and is indexed on CUSTNO
i:\btn currently contains 5,999,657 records and is indexed on BTN
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection As OleDbConnection
Dim myOleDbCommand As OleDbCommand
Dim myOleDbDataAdapter As OleDbDataAdapter
Dim dt As New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim starttime As DateTime
myOleDbConnection = New
OleDbConnection("Provider=vfpoledb.1;Data Source=i:\;Collating
Sequence=general")
myOleDbCommand = New OleDbCommand
myOleDbDataAdapter = New OleDbDataAdapter
Dim fields, from As String
fields = "select btn.btn, arcust01.lastpay, arcust01.balance "
from = "from i:\btn, f:\arcust01 where btn.btn = arcust01.custno
and btn.btn = ''9128675309''"
myOleDbCommand.CommandText = fields & from
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show("done! " &
Math.Round(Now.Subtract(starttime).TotalSeconds, 4).ToString)
DataGridView1.DataSource = dt
End Sub
End Class
我很确定他们这样做但我不知道。无论如何,我当然希望我能够将响应时间缩短到一两秒而不是2分钟一个
方式。
Jay B写道:
I''m pretty sure they do but I don''t know. Anyway, I darn sure hope I
can get response time down to a second or two instead of 2 minutes one
way or another.
Jay B wrote:
i不要认为oledbproviders使用foxpro索引!
cj写道:
i dont think the oledbproviders use the foxpro indexes!
cj wrote:
>我正在尝试使用.net从VFP
表中提取数据的响应时间非常糟糕 - 就像2分钟一样!有人可以提供帮助吗?
f:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ $ b Imports System.Data.OleDb
公共类Form1
Dim myOleDbConnection作为OleDbConnection
Dim myOleDbCommand作为OleDbCommand
Dim myOleDbDataAdapter作为OleDbDataAdapter
> Dim dt As New DataTable
私有Sub Button1_Click(ByVal sender As System.Object,ByVal e
As System.EventArgs)处理Button1.Click
Dim starttime As DateTime
myOleDbConnection =新的
OleDbConnection(" Provider = vfpoledb.1; Data Source = i:\; Collating
Sequence = general")
myOleDbCommand = New OleDbCommand
myOleDbDataAdapter =新的OleDbDataAdapter
昏暗的字段,来自As String
fields =" select btn.btn,arcust01.lastpay,arcust01.balance"
from =" from i:\ btn,f:\\\\ [::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CommandText = fields&来自
myOleDbCommand.Connection = myOleDbConnection
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show(" done!"&
Math.Round(Now.Subtract(starttime).TotalSeconds,4).ToString)
DataGridView1.DataSource = dt
End Sub
结束班
>I''m getting terrible response times trying to pull data from VFP
tables using .net--like 2 minutes! Can someone help?
f:\arcust01 currently contains 187,728 records and is indexed on CUSTNO
i:\btn currently contains 5,999,657 records and is indexed on BTN
Imports System.Data.OleDb
Public Class Form1
Dim myOleDbConnection As OleDbConnection
Dim myOleDbCommand As OleDbCommand
Dim myOleDbDataAdapter As OleDbDataAdapter
Dim dt As New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim starttime As DateTime
myOleDbConnection = New
OleDbConnection("Provider=vfpoledb.1;Data Source=i:\;Collating
Sequence=general")
myOleDbCommand = New OleDbCommand
myOleDbDataAdapter = New OleDbDataAdapter
Dim fields, from As String
fields = "select btn.btn, arcust01.lastpay, arcust01.balance "
from = "from i:\btn, f:\arcust01 where btn.btn =
arcust01.custno and btn.btn = ''9128675309''"
myOleDbCommand.CommandText = fields & from
myOleDbCommand.Connection = myOleDbConnection
myOleDbDataAdapter.SelectCommand = myOleDbCommand
starttime = Now()
myOleDbDataAdapter.Fill(dt)
MessageBox.Show("done! " &
Math.Round(Now.Subtract(starttime).TotalSeconds , 4).ToString)
DataGridView1.DataSource = dt
End Sub
End Class
这篇关于从VB.Net访问VFP表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!