Tôi đang làm việc trong VB6 trên máy tính để bàn Windows 7 để đọc và làm việc trên các tệp văn bản và đã chạy vào biến cố vấn đề cho câu lệnh SELECT. Mã tôi có là:VB6 chèn đường dẫn tệp vào mệnh đề SQL FROM
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As ADODB.Command
Set conn = New ADODB.Connection
conn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited()"""
inputFile = "C:\test data\test data.asc"
Set cm = New ADODB.Command
cm.ActiveConnection = conn
cm.CommandType = adCmdText
cm.CommandText = "SELECT * FROM " & inputFile
Set rs = New ADODB.Recordset
rs.Open cm, , adOpenKeyset, adLockOptimistic
Vấn đề là tên đường dẫn đến tập tin đầu vào chứa dấu cách và khi tôi chạy đoạn mã trên, nó không thành công ở dòng rs.OPen với một lỗi nói rằng lỗi cú pháp trong TỪ mệnh đề. Nếu đường dẫn trong inputFile không chứa dấu cách, mọi thứ sẽ hoạt động mà không có sự cố.
Tôi đã thử nhiều kết hợp của " '[] vv quanh Inputfile nhưng luôn luôn nhận được lỗi cú pháp hay cách khác báo lỗi nói rằng inputFile.txt không thể được tìm thấy.
bất cứ ai có thể cho tôi phương pháp đúng để xử lý path/file tên với các không gian trong một câu lệnh SQL xin vui lòng?
FYI khi thêm mã vào một câu hỏi nó đi giữa dấu ngoặc đánh dấu hoặc thụt nó bằng 4 chỗ –
tên của bảng bạn đang cố gắng để lựa chọn là gì từ? Có vẻ như bạn đang cố chọn từ một tệp trong hệ thống tệp, điều này không có ý nghĩa gì. – recursive
Tôi đang cố gắng đọc dữ liệu từ tệp văn bản. Như tôi đã nói, nếu đường dẫn trong inputFile không chứa khoảng trống, tôi có thể đọc dữ liệu tệp văn bản mà không gặp bất kỳ sự cố nào. Khi rs được mở, tôi sử dụng rs.GetRows để đưa dữ liệu vào một mảng mà sau đó tôi xử lý. – blueflash