• Thứ Ba, 15/02/2011 10:09 (GMT+7)

    Trả lời thư bạn đọc

    TS. Nguyễn Văn Hiệp
    Mục giải đáp thắc mắc của bạn đọc do TS. Nguyễn Văn Hiệp phụ trách.

    Câu hỏi:
    Lập trình VB.NET 2005 kết nối CSDL là SQL Server 2005 tôi gặp trường hợp bất thường như sau: Nếu cập nhật số lượng bản ghi ít (dưới 300) thì chạy tốt, nhưng khi cập nhật một lúc từ 400 bản ghi từ chương trình trở lên thì server không nhận được. Nếu Import dữ liệu từ file Excel có từ 1000 bản ghi trở lên vào trực tiếp một bảng trong CSDL của SQL Server2005 thì chỉ được tối đa 700 bản ghi.

    Trả lời
    Bạn không cho biết cụ thể đoạn chương trình VB .Net để thực hiện chức năng cập nhật các record trong database được quản lý bởi SQL Server 2005, bạn cũng không cho biết cụ thể đoạn chương trình "export" dữ liệu trong bảng tính Excel sang bảng dữ liệu của SQL Server nên chúng tôi không thể chỉ ra chính xác dòng lệnh nào gây lỗi. Lưu ý, SQL Server 2005 là một hệ quản trị cơ sở dữ liệu khá mạnh và được dùng khá phổ biến, nó có thể quản lý hàng triệu record trong mỗi bảng dữ liệu, do đó nguyên nhân không cập nhật được trên 300 record hay không "export" được trên 700 record từ Excel chắc chắn là do đoạn lệnh của bạn viết. Sau đây chúng tôi giới thiệu qui trình điển hình để viết 1 ứng dụng VB .Net nhỏ, nó tạo tự động 1 worksheet Excel chứa 10000 record, rồi "export" thành công 10000 record này sang 1 bảng dữ liệu trên SQL Server 2005:

    1. Chạy Visual Studio 2005, chọn menu File.New Project để hiển thị cửa sổ New Project.

    2. Trong cây Project Types, mở rộng mục Visual Basic.Windows, chọn icon Windows Application, nhập tên Project (td. VBTransTable), nhấn OK để tạo Project ứng dụng theo các thông số vừa đặc tả.

    3. Khi cửa sổ thiết kế form ứng dụng trống hiển thị, chọn menu View.Code để hiển thị cửa sổ soạn thảo mã nguồn cho form.

    4. Chọn menu Project.Add Reference để hiển thị cửa sổ Add reference, chọn tab COM, duyệt tìm và chọn mục Microsoft Excel xx.0 Object Library và nhấn OK để "add" thư viện truy xuất các đối tượng Excel vào project ứng dụng.

    5. Chọn lại menu Project.Add Reference để hiển thị cửa sổ "dd reference, chọn tab COM, duyệt tìm và chọn mục"Microsoft ActiveX Data Object 2.x Library và nhấn OK để "add" thư viện ADO truy xuất database vào project ứng dụng.

    6. Viết code cho class Form1 như sau:

    'mã nguồn của class Form1
    Public Class Form1
    Dim ExcelGlobal_definst As New Excel.Global
    'thủ tục khởi tạo form
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'tạo thử worksheet Excel chứa 10000 record
    CreateWS()
    'export worksheet Excel sang bảng SQL Server
    ExportWS()
    End Sub

    'thủ tục tạo thử worksheet Excel chứa 10000 record
    Sub CreateWS()
    Dim i As Object
    Dim rg As Object
    Dim ExcelApp As Excel.Application
    Dim Workbook As Excel.Workbook
    'tạo ứng dụng Excel
    ExcelApp = New Excel.Application
    'tạo workbook Excel
    Workbook = ExcelApp.Workbooks.Add
    'tạo worksheet mới
    ExcelApp.Sheets.Add()
    'đặt tên cho worksheet mới
    ExcelApp.ActiveSheet.Name = "MyData"
    'thiết lập vùng cell cần xử lý
    rg = ExcelGlobal_definst.Range("A1:C10001")
    'xuất hàng header có 2 cột
    rg.Cells(1, 1).Value = "STT"
    rg.Cells(1, 2).Value = "Ho ten"
    'lặp xuất từng hàng dữ liệu giả
    For i = 2 To 10001
    rg.Cells(i, 1).Value = i - 1
    rg.Cells(i, 2).Value = "Toi ten la " & (i - 1)
    Next i
    'lưu kết quả ra file
    ExcelApp.ActiveWorkbook.SaveAs("c:\MyData.xls")
    'dừng ứng dụng Excel
    ExcelApp.Quit()
    ExcelApp = Nothing
    End Sub

    'thủ tục tạo thử worksheet Excel chứa 10000 record
    Sub ExportWS()
    Dim cn As ADODB.Connection
    Dim strSQL As String
    Dim lngRecsAff As Integer
    'tạo đối tượng Connection
    cn = New ADODB.Connection
    cn.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\MyData.xls; Extended Properties=Excel 8.0")
    'chuyển worksheet Excel sang bảng SQL Server
    strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & "Server=HIEPCOMP\SQLEXPRESS;Database=tempdb;" & "UID=sa;PWD=luonghoa].MyData FROM [MyData$]"
    cn.Execute(strSQL, lngRecsAff, ADODB.ExecuteOptionEnum.adExecuteNoRecords)
    cn.Close()
    cn = Nothing
    End Sub
    End Class

    7. Chọn menu Debug.Start Debugging để dịch và chạy ứng dụng, nếu bạn tuân thủ đúng các bước ở trên thì ứng dụng sẽ chạy, thời gian tạo worksheet Excel chứa 10000 record khá lâu, bạn hãy kiên nhẫn chờ. Khi nào thấy cửa sổ ứng dụng hiển thị thì lúc đó chương trình đã chuyển xong toàn bộ 10000 record từ Excel sang bảng có tên là MyData trong database tempdb do SQL Server quản lý.

    8. Chạy tiện ích truy xuất database của SQL Server (thí dụ SQL Server Management Studio Express), xem thử bảng dữ liệu MyData trong database tempdb, bạn sẽ thấy đủ 10000 record y như trong bảng tính Excel gốc.

    Câu hỏi:
    Xin hỏi 3 vấn đề khi soạn thảo EndNote trong Word 2007:
    - Thứ nhất: Khi Insert EndNote vào văn bản thì nó hiện ra là 1. Làm thế nào để hiện ra là [1]?
    - Thứ hai: Sau khi chèn tài liệu tham khảo vào là [1], muốn sử dụng lại [1] cho một tham chiếu khác thì làm thế nào?
    - Thứ ba: Sau khi làm xong danh mục tài liệu tham khảo, có sắp xếp được không?

    Trả lời:
    Quản lý tài liệu tham khảo trong tài liệu Word là việc buộc phải thực hiện khi soạn thảo tài liệu khoa học, tuy nhiên các version cũ của ứng dụng MS Word rất yếu kém về việc quản lý tài liệu tham khảo. Từ Word 2007 trở đi, Microsoft đã tăng cường tính năng này khá nhiều, nhưng nhìn chung vẫn chưa thực sự tiện lợi. Do đó đã có nhiều hãng viết tiện ích chuyên hỗ trợ dịch vụ quản lý tài liệu tham khảo, thí dụ tiện ích EndNote của hãng Thomson Reuters. Với tiện ích này, bạn dễ dàng giải quyết được 3 vần đề đã nêu ở trên và hơn thế nhiều. Qui trình cơ bản của việc quản lý tài liệu tham khảo bởi tiện ích EndNote như sau:

    1. Tạo database chứa thông tin về các tài liệu tham khảo cần dùng, thêm mới/hiệu chỉnh/ xóa từng record miêu tả các thông tin về từng tài liệu tham khảo.
    2. Chọn 1 tài liệu tham khảo trong database, về Word chọn vị trí cần dùng tham khảo, ra lệnh chèn tham khảo. Endnote sẽ tự động chèn thông tin tham khảo vào vị trí mong muốn với định dạng xác định trước. Bạn có thể thay đổi định dạng bất kỳ lúc nào, thí dụ từ dạng (i) thành [i], lập tức EndNote sẽ tự hiệu chỉnh toàn bộ các vị trí tham khảo trong tài liệu về định dạng mới.
    3. Lập lại bước 2 ở từng vị trí cần tham khảo trong tài liệu Word.

    Danh sách tài liệu tham khảo cũng sẽ được EndNote tạo tự động ở cuối file với định dạng và thứ tự sắp xếp do người dùng qui định trước, dĩ nhiên người dùng có quyền thay đổi các thông tin cấu hình làm việc của EndNote bất kỳ lúc nào.

    Câu hỏi:
    Tôi có chương trình Excel quản lý nhân sự, gồm 1 database và nhiều file Excel cập nhật và truy xuất dữ liệu cho các phòng ban. Cụ thể: database có tên là datans.xls, file cập nhật thông tin nhân sự có tên capnhatns.xls, trong file này có nút lệnh dùng để cập nhật các thông tin vào datans.xls. Tuy nhiên vì file datans.xls được định dạng là 2003, nếu người sử dụng dùng Office 2007 cập nhật sau đó có một người dùng khác sử dụng Office 2003 để truy xuất dữ liệu thì bị báo lỗi là không tìm thấy Database, nhưng nếu dùng Office 2007 thì truy xuất bình thường. Xin hỏi có hàm nào dùng để định dạng lại file sao cho bất kỳ phiên bản Office nào từ 2003 trở đi đều có thể sử dụng được?

    Trả lời:
    Mỗi khi ứng dụng nâng cấp version mới, nó cũng thường nâng cấp định dạng file dữ liệu được xử lý bởi nó. Cụ thể, Office Excel 2007 có thể xử lý các file Excel theo định dạng cũ và file Excel theo định dạng mới của riêng nó. Như vậy, để các version Excel khác nhau có thể làm việc chung 1 file Excel, ta cần chọn định dạng cũ nhất cho file này. Cụ thể, nếu bạn dùng đồng thời Excel 2003 và Excel 2007 thì khi dùng Excel 2007 để lưu file, bạn phải chọn định dạng là Excel 2003 thay vì định dạng mặc định của Excel 2007. Còn nếu lập trình bằng ngôn ngữ VBA, bạn cần xác định tường minh thông số định dạng trong lệnh lưu file. Thí dụ lệnh sau đây sẽ lưu workbook hiện hành của Excel 2007 ra file c:\MyData.xls theo định dạng Excel 2003:
    ExcelApp.ActiveWorkbook.SaveAs FileName="c:\MyData.xls", xlExcel8

    Câu hỏi:
    Tôi đang dùng máy laptop Dell Inspiron 1525, khi chat voice hoặc ghi âm giọng nữ nghe như giọng nam.

    Trả lời:
    Chúng tôi không có máy Dell Inspiron 1525 để kiểm tra và xác định chính xác nguyên nhân lỗi mà bạn miêu tả nên chỉ có thể trả lời tổng quát. Âm thanh của người được mạch thu của sound card đổi từ dạng sóng âm liên tục thành dạng số (ta gọi hoạt động này là mã hóa tín hiệu) và lưu lại trong máy tính theo 1 định dạng nào đó (wav, mp3,…). Chương trình máy tính sẽ xử lý âm thanh dạng số này theo yêu cầu của người dùng, khi cần xuất ra thì mạch phát của sound card sẽ biến đổi từ dạng số thành dạng sóng âm liên tục (ta gọi hoạt động này là giải mã dữ liệu). Có nhiều yếu tố đặc trưng cho sóng âm của nam và của nữ, trong đó yếu tố quyết định nhất là tần số cơ bản của sóng âm miêu tả giọng nữ thường cao hơn nhiều tần số cơ bản của sóng âm miêu tả giọng nam. Dựa vào yếu tố này mà ta có thể biến đổi giọng nữ thành giọng nam hay ngược lại khá dễ dàng. Thật vậy, nếu ta thay đổi tần số cơ bản của âm thanh từ cao xuống thấp thì ta đã biến được giọng nữ thành nam, ngược lại nếu ta nâng tần số cơ bản của âm thanh từ thấp lên cao thì đã biến được giọng nam thành nữ.

    Tóm lại, hiện tượng bạn thu giọng nữ nhưng nghe như giọng nam có thể do các thông số cấu hình hoạt động của mạch thu và/hoặc mạch phát của sound card trên máy bạn quyết định. Bạn hãy mở cửa sổ Control Panel, tìm và chạy icon hiệu chỉnh thông số sound card (thí dụ Sound Effect Manager của card Realtek), tìm và hiệu chỉnh các tham số có liên quan đến tần số tín hiệu, thí dụ như Equalizer, xem và hiệu chỉnh lại mức lọc của từng tần số âm thanh. Thí dụ hiện tượng ghi âm giọng nữ nghe như giọng nam thường là do các tần số cao bị hạn chế tối đa, còn các tần số thấp lại được chọn maximum.

    Câu hỏi:
    Dùng ứng dụng "AVS Video Converter 6.2" chuyển định dạng phim từ DVD sang AVI thì giữa màn hình xuất hiện hàng chữ của chương trình và phần audio mất tiếng thuyết minh VN. Xin hướng dẫn cách khắc phục.

    Trả lời:
    Như bạn đã biết, để chuyển định dạng phim từ dạng này sang dạng khác, bạn có thể dùng 1 ứng dụng chuyển định dạng phù hợp. Hiện trên thị trường, có rất nhiều hãng đã phân phối chương trình chuyển định dạng phim của mình, các phần mềm này có khả năng gần tương đương nhau, thí dụ bạn đang dùng trình "AVS Video Converter 6.2" của hãng "Online Media Technologies". Lưu ý, phiên bản phần mềm cho download trên mạng thường là bản dùng thử, nó thường chỉ cho phép chuyển định dạng hạn chế, trong thời gian hạn chế và thường thêm chuỗi văn bản nhận dạng chồng lên các frame ảnh của phim, kết quả gây bất tiện cho người xem. Vậy bạn hãy mua bản gốc của phần mềm mà mình ưa thích để dùng để tránh các phiền phức như bạn đã miêu tả.

    Câu hỏi:
    Xin hỏi cách định dạng dấu dấu "." phân cách hàng ngàn trong Visual Foxpro?

    Trả lời:
    Visual Foxpro là một chương trình ứng dụng, nó cũng giống đại đa số ứng dụng khác chạy trên Windows là dùng lại các thông tin cấu hình của Windows, thí dụ các thông tin về locale. Đây là các thông tin qui định đặc điểm của 1 ngôn ngữ được dùng bởi user như ký hiệu tiền tệ là gì, dấu ngăn thập phân là gì, dấu ngăn phần ngàn, triệu, tỉ là gì, ký hiệu miêu tả buổi sáng là gì, ký hiệu miêu tả buổi chiều là gì…

    Thí dụ để thiết lập dấu ngăn phần ngàn, triệu, tỉ cho Windows (và các ứng dụng) dùng, bạn hãy chạy Control Panel, kích hoạt chạy tiện ích Regional and Language Options, nhấn chuột chọn tag Regional Options, nhấn Customize, nhập ký tự miêu tả dấu ngăn hàng ngàn (thí dụ dấu ‘.’) vào ComboBox Digit grouping Symbol rồi nhấn OK. Từ đây, Windows và hầu hết các ứng dụng sẽ dùng ký hiệu mới để ngăn cách phần ngàn, triệu, tỉ.
    Trong Visual Foxpro, để khai báo dùng các thông số cấu hình của Windows, bạn dùng lệnh:

    SET SYSFORMATS ON
    Thí dụ sau đây là đoạn lệnh Foxpro đơn giản demo việc hiển thị số lớn dùng dấu ngăn hàng ngàn của Windows:
    SET SYSFORMATS ON
    ?1234567834
    ?transform(12345678.34,"###,###,###.###")

    Lệnh xuất đầu tiên sẽ hiển thị y như dữ liệu gốc (1234567834), còn lệnh xuất thứ 2 sẽ xuất kết quả là 12.345.678,34 (nếu bạn đã thiết lập cho Windows hiểu dấu ngăn đơn vị là "," và dấu ngăn hàng ngàn là '".".

    Câu hỏi:
    Tôi dùng Windows XP SP2, khi khởi động xuất hiện dòng chữ "The system cannot find the file specified" lặp lại nhiều lần, không lưu USB được, không truy cập Internet được. Xin hỏi cách khắc phục ?

    Trả lời:
    Windows là 1 hệ thống cấu thành bởi rất nhiều file chức năng. Khi boot máy, các file chức năng của Windows lần lượt được nạp vào bộ nhớ để chạy. sau khi nạp hết các file chức năng Windows vào bộ nhớ, Windows tiếp tục nạp các file ứng dụng được cấu hình chạy tự động theo Windows. Trong khi nạp file nếu file đó không tồn tại thì máy báo lỗi "The system cannot find the file specified".

    Tóm lại, sở dĩ máy bạn báo lỗi trên nhiều lần là do các file cần chạy bởi Windows đã bị mất. Lý do có thể do virus phá hay do bạn vô ý xóa chúng. Cách khắc phục triệt để nhất là format lại đĩa cứng và cài lại Windows cùng các ứng dụng cần sử dụng.

    Lưu ý, để đỡ mất thời gian và công sức cài lại Windows và các ứng dụng cho những lần sau, bạn nên backup toàn bộ hệ thống sạch lên file ảnh để lưu giữ (thí dụ dùng tiện ích Ghost).

    Câu hỏi:
    Máy có cấu hình khá mạnh, sau khi update WinXP lên SP3 thì máy có dấu hiệu khởi động chậm chỉ cỡ 1/4 so với lúc chưa update. Xin hỏi cách khắc phục.

    Trả lời:
    Thường thì version cao và mới hơn sẽ cần nhiều tài nguyên hơn nên sẽ chạy chậm hơn so với version cũ, tuy nhiên nếu chỉ mới update từ WinXP sang SP3 mà máy bị chậm 4 lần so với version cũ thì đã có bất thường rồi. Không biết ngoài việc update lên SP3, bạn còn cài thêm nhiều phần mềm ứng dụng không? Thí dụ như cài thêm trình diệt virus có chức năng gác cổng virus. Lưu ý, chức năng gác cổng virus thường tiêu tốn rất nhiều thời gian CPU, nó sẽ làm máy bạn chạy rất chậm so với khi không có nó.

    Để kiểm tra và xác định chính xác nguyên nhân, bạn hãy thử backup hệ thống hiện hành lên file ảnh để khi cần restore và dùng lại trong tương lai (thí dụ dùng Ghost), cài mới từ đầu WinXP SP3 rồi chạy lại xem có hiện tượng chậm quá đáng không ?

    Câu hỏi:
    Xin hỏi cài đặt các phần mềm diệt virus mạnh như Kaspersky, AVG, Eset nod32... có ảnh hưởng gì tới ổ cứng của máy tính không?

    Trả lời:
    Mỗi phần mềm, cho dù có chức năng nào, đều bao gồm nhiều file trên đĩa và khi chạy sẽ tiêu tốn dung lượng bộ nhớ nhất định, tiêu hao công suất CPU nhất định. Riêng các phần mềm diệt virus, do chức năng đặc thù của chúng, khi cần thiết sẽ duyệt và truy xuất các file trên đĩa để kiểm tra, phát hiện và diệt virus. Việc duyệt tìm tất cả các file trên đĩa sẽ tốn thời gian và ít nhiều làm giảm tuổi thọ đĩa cứng, tuy nhiên mức độ không quá quan trọng như nhiều người nghĩ.

    Câu hỏi:
    Prerrered DNS server bỗng dưng bị đổi sang 85.255.112.132, trước đó tôi đã thiết lập địa chỉ IP khác. Xin hỏi đây có phải do virus gây ra không? Cách khắc phục?

    Trả lời:
    Có nhiều nguyên nhân dẫn đến hiện tượng địa chỉ DNS server bị cập nhật thành 85.255.112.132, trong đó nguyên nhân thông thường nhất là do virus phá. Vậy bạn hãy thử tìm trên Internet, download trình diệt virus Malwarebytes, cài và diệt virus trên máy bạn.

    Câu hỏi:
    Xin hỏi cách khôi phục máy tính về tình trạng ban đầu. Sau khi máy bị nhiễm virus, đem đi bảo hành về sử dụng thì cảm thấy máy chạy ngày càng chậm.

    Trả lời:
    Khi máy bị nhiễm virus thì virus đã làm thay đổi nhiều file trên đĩa và làm máy chạy không đúng chức năng ban đầu. Mặc dù chương trình diệt virus có thể phát hiện và diệt được virus, nhưng những tổn hại do virus gây ra trên đĩa thường khó được phục hồi hoàn toàn. Do đó để chắc chắn máy chạy tốt, tin cậy sau khi diệt virus, bạn nên cài mới lại toàn bộ hệ thống gồm Windows và các ứng dụng cần dùng.

    Lưu ý rằng để đỡ mất thời gian và công sức cài lại Windows và các ứng dụng cho những lần sau, bạn nên backup toàn bộ hệ thống sạch lên file ảnh để lưu giữ (thí dụ dùng tiện ích Ghost). Sau này nếu bị virus phá, bạn chỉ cần restore hệ thống từ file ảnh, chứ không mất thời gian cài lại từ đầu.

    Câu hỏi:
    Xin hỏi ý nghĩa của “thay đổi nội dung truyền trên mạng” (modification of messages) và “lặp lại bản tin truyền” (replay) trong phương thức tấn công chủ động vào mạng. Tôi có thể tìm tài liệu về 2 cách tấn công này ở đâu?

    Trả lời:
    Phương pháp tấn công mạng bằng cách thay đổi nội dung gốc được truyền (modification of messages) là cố gắng chặn bắt thông báo được gửi bởi người gửi (A) cho người nhận (B) để nó không thể tới B, thay đổi nội dung thông báo này theo hướng mong muốn trước khi gửi tiếp cho người nhận. Thí dụ A gửi cho B thông báo với nội dung "Barcelona thắng Real Madrid với tỉ số 2-1" bị máy tấn công chặn bắt và thay đổi thành "Barcelona thua Real Madrid với tỉ số 1-2" trước khi được gửi tiếp cho B.

    Phương pháp tấn công mạng bằng cách gửi lại 1 hay nhiều lần thông báo được truyền (replay) là cố gắng copy thông báo được gửi bởi người gửi (A) cho người nhận (B), sau đó khi cần sẽ gửi tiếp cho người nhận. Thí dụ A gửi cho B thông báo với nội dung "hãy uống thêm 1 viên thuốc X", B sẽ nhận được thông báo này bình thường và làm theo. Trong lúc đó kẻ tấn công đã copy được thông báo này và sau đó mạo danh A tiếp tục gửi đến B từ một đến nhiều lần, nếu B không cẩn thận sẽ tưởng nhằm là A yêu cầu nữa và sẽ thực hiện theo, như vậy rất nguy hiểm cho tính mạng!

    Có rất nhiều tài liệu điện tử hay dạng giấy giới thiệu về vấn đề bảo mật máy tính và bảo mật mạng, thí dụ bạn có thể tìm trên Internet và đọc mục "1.3. Security Attacks" của sách "Cryptography and Network Security Principles and Practices", Fourth Edition, William Stallings, Prentice Hall.

    Câu hỏi:
    Mở file *.mdb của Access bị báo lỗi "The Microsoft Jet database engine could not find the object MSysDb. Make sure the object exists and that you spell its name and the path name correctly". Một số bạn đã trợ giúp bằng cách cài bản Repair - Access, tuy nhiên đây chỉ là bản demo nên không thao tác với dữ liệu được. Xin hỏi có cách nào khác để mở file *.mdb trên Access mà không bị thông báo lỗi.

    Trả lời:
    Sở dĩ khi mở file *.mdb của Access mà máy báo lỗi "The Microsoft Jet database engine could not find the object MSysDb…” là vì file này đã bị hư. Có nhiều nguyên nhân làm file bị hư, thí dụ như virus phá, máy bị dừng đột ngột khi bạn đang làm việc với file *.mdb,… Cách khắc phục là dùng tiện ích sửa lỗi phù hợp để sửa lỗi file *.mdb, một trong các trình sửa lỗi có thể dùng được là tiện ích "Advanced Access Repair (AAR)" của hãng DataNumem Inc.

    Lưu ý, đây là tiện ích được thương mại hóa nên bạn phải mua mới dùng tốt, còn nếu bạn download trên mạng về dùng thì thường đó chỉ là bản dùng thử, không có đủ khả năng để sửa tât cả lỗi. Ngay cả bạn dùng bản chính thức (của bất kỳ hãng nào) thì tỉ lệ sửa lỗi cũng chỉ tương đối, vẫn có nhiều trường hợp sửa không được. Do đó cách tốt nhất vẫn là "phòng bệnh hơn chữa bệnh", bạn nên "backup" file database của mình từ đĩa cứng lên môi trường lưu trữ khác như USB, CD theo định kỳ, hay khi cần thiết để nếu file trên đĩa cứng bị hư, bạn dùng lại file backup.

    Câu hỏi:
    Cập nhật mẫu tin mới vào CSDL Access thì nhận thông báo lỗi: "command text was not get for the command object". Xin hỏi cách khắc phục.

    Trả lời:
    Bạn không nói rõ đoạn code cập nhật mẫu tin Access được viết bằng ngôn ngữ nào, dùng các đối tượng truy xuất database nào, chúng được thiết lập nội dung như thế nào nên chúng tôi chỉ trả lời tổng quát. Thường bạn dùng các đối tượng ADO (hay DAO) của Microsoft như RecordSet, Command,... để truy xuất database. Để thực hiện lệnh truy vấn nào, bạn cần xây dựng chuỗi miêu tả lệnh truy vấn tương ứng rồi gán lệnh SQL này vào thuộc tính CommandText của đối tượng được dùng để truy vấn như RecordSet, Command,... Câu báo lỗi trên có nghĩa là bạn chưa thiết lập lệnh SQL cho đối tượng Command mà đã thực hiện truy vấn database nên máy không hiểu bạn muốn gì cụ thể, đành phải báo lỗi thôi.

    Xem tiếp : 12>
    ID: A1101_107