ورود

View Full Version : تبدیل db از foxpro به sql2005



b.mahsa
چهارشنبه 05 خرداد 1389, 17:10 عصر
سلام ببخشید اگر سوالم تکراری .
خیلی گشتم ولی چیزی که می خواستم رو پیدا نکردم.
من برای خواندن اطلاعات از بانک foxpro از کد زیر استفاده کردم.


Dim ds As New DataSet
With OpenFileDialog1
.RestoreDirectory = True
.FileName = ""
.Filter = "DataBase Files (*.DBF)|*.DBF"
End With
Dim dir_name As String
Dim file_name As String
Dim result2 As DialogResult = OpenFileDialog1.ShowDialog()
If (result2 = System.Windows.Forms.DialogResult.OK) Then

Try
Dim myDataSource As String
myDataSource = OpenFileDialog1.FileName
With myDataSource
file_name = .Substring(.LastIndexOf("\") + 1, .LastIndexOf(".") - .LastIndexOf("\") - 1)
dir_name = .Substring(0, .LastIndexOf("\"))
End With
MsgBox(dir_name)
DataGridView1.DataSource = ""
ds = New DataSet
ds.Clear()

Dim connectionString As String = "Driver={Driver do Microsoft dBase (*.dbf)};collatingsequence=ASCII;defaultdir=" & dir_name & ";deleted=0;driverid=277;fil=dBase IV;maxbuffersize=2048;maxscanrows=8;pagetimeout=5; safetransactions=0;statistics=0;threads=3;uid=admi n;usercommitsync=Yes"
'Dim connectionString As String = "Driver={Driver do Microsoft dBase (*.dbf)};collatingsequence=ASCII;defaultdir=C:\BAN K;deleted=0;driverid=277;fil=dBase IV;filedsn=C:\BANK\sdf.dsn;maxbuffersize=2048;maxs canrows=8;pagetimeout=5;safetransactions=0;statist ics=0;threads=3;uid=admin;usercommitsync=Yes"
Dim myQueryString As String
myQueryString = "SELECT * FROM " & file_name
GetDataSetFromAdapter(ds, connectionString, myQueryString)
DataGridView1.DataSource = ds.Tables(0)

Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub

Private Function GetDataSetFromAdapter(ByVal dataSet As DataSet, ByVal connectionString As String, ByVal queryString As String) As DataSet
Using connection As New Odbc.OdbcConnection(connectionString)
Dim adapter As New Odbc.OdbcDataAdapter(queryString, connection)
Try
connection.Open()
adapter.Fill(dataSet)
DataGridView1.DataSource = dataSet.Tables("0")
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Using
Return dataSet
End Function

تا اینجا کدم اجرا میشه و مشکلی نداره ولی الان می خوام که برای select ام شرط بزارم یعنی



myQueryString = "SELECT * FROM " & file_name & " where [personid]='00000000' "

همش error می ده و میگه syntax ام اشتباه .
ممنون میشم اگر کمکم کنین . خیلی فوریه

binyaz2003
چهارشنبه 05 خرداد 1389, 18:02 عصر
دستور رو به شکل زير بنويسيد ببينيد چي ميشه:

myQueryString = "SELECT * FROM " & file_name & " where personid='00000000' "

b.mahsa
چهارشنبه 05 خرداد 1389, 18:03 عصر
دوستان مشکلم حل شد باید اینطوری می نوشتم



myQueryString = "SELECT * FROM " & file_name & " where ([personid]='00000000') "
حالا یه مشکل دیگه دارم:ناراحت:
اطلاعات فارسیم به هم میریزه باید چی کار کنم که اطلاعات فارسی رو نشون بده؟؟؟؟