Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: NullReferenceExeption: object reference not set to an instance of an object - Lỗi đường dẫn khi đọc file

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    33

    Mặc định NullReferenceExeption: object reference not set to an instance of an object - Lỗi đường dẫn khi đọc file

    Đoạn code của em viết để lập 1 bảng lưu thông tin từ file xml.
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using System.IO;
    6. using System.Data;
    7.  
    8. namespace ConsoleApplication1
    9. {
    10.     class Program
    11.     {
    12.         static void Main()
    13.         {
    14.            
    15.             FileStream fs = new FileStream("C:\\Users\thang\Downloads\WAPA262busCPSM3.xml", FileMode.Open);
    16.             DataSet ds = new DataSet();
    17.             ds.ReadXml(fs);
    18.             DataTable mt = ds.Tables["cim:AnalogLimitSet"];
    19.             for (int row = 0; row < mt.Rows.Count; row++)
    20.             {
    21.                 for (int col = 0; col < mt.Columns.Count; col++)
    22.                 {
    23.                     Console.WriteLine("{0,-10}{1}", mt.Columns[col].Caption, mt.Rows[row][col].ToString().Trim());
    24.                 }
    25.                 Console.WriteLine();
    26.             }
    27.             fs.Close();
    28.            
    29.         }
    30.     }
    31. }

    nhưng khi debug máy báo lỗi đường dẫn.
    sao vậy ta?

  2. #2
    Ngày gia nhập
    05 2011
    Bài viết
    13

    Bạn chú ý đoạn này nhé:
    Trích dẫn Nguyên bản được gửi bởi itmanhieu Xem bài viết
    FileStream fs = new FileStream("C:\\Users\thang\Downloads\WAPA262busCP SM3.xml", FileMode.Open);
    Lỗi vì các dấu xuyệt ("\") đằng sau, bạn có thể khử lỗi bằng cách sửa lại như sau:
    Code:
    FileStream fs = new FileStream("C:\\Users\\thang\\Downloads\\WAPA262busCPSM3.xml", FileMode.Open);
    hoặc:
    Code:
    FileStream fs = new FileStream(@"C:\Users\thang\Downloads\WAPA262busCPSM3.xml", FileMode.Open);

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    33

    cảm ơn bạn, mình đã thử rồi, nhưng ko được.
    Build thì oke.
    còn khi debug nó bắt dừng chương trình, đầu tiên nó báo lỗi dòng 15( tức là lỗi đường dẫn)
    sau các lần khác, nó báo lỗi dòng 19(NullReferenceExeption: object reference not set to an instance of an object).

  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    bạn sửa lại thế này là đc

    Visual C# Code:
    1. FileStream fs = new FileStream(@"C:\Users\thang\Downloads\WAPA262busCPSM3.xml", FileMode.Open,FileAccess.ReadWrite);

  5. #5
    Ngày gia nhập
    04 2011
    Bài viết
    33

    sửa như vậy, vấn ko được bạn ah, vẫn báo lối như cũ

  6. #6
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    Mặc định NullReferenceExeption: object reference not set to an instance of an object - Lỗi đường dẫn khi đọc file

    ah, đọc file XML bạn dung file stream ko đọc đc là fai, dùng dataset đọc XML đó. trong dataset có phương thức ReadXML() đấy.
    FileStream chỉ đọc file text thôi ah

  7. #7
    Ngày gia nhập
    05 2011
    Bài viết
    13

    Trích dẫn Nguyên bản được gửi bởi kenturo Xem bài viết
    ah, đọc file XML bạn dung file stream ko đọc đc là fai, dùng dataset đọc XML đó. trong dataset có phương thức ReadXML() đấy.
    FileStream chỉ đọc file text thôi ah
    Mình vẫn đọc XML bình thường bạn ạ.

    Trích dẫn Nguyên bản được gửi bởi itmanhieu Xem bài viết
    sửa như vậy, vấn ko được bạn ah, vẫn báo lối như cũ
    Mình không nhận được mail của bạn, song bạn thử xem thử lệnh
    Code:
     DataTable mt = ds.Tables["cim:AnalogLimitSet"];
    có vấn đề gì không? Ý là trong cả file xml nữa

  8. #8
    Ngày gia nhập
    12 2007
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi itmanhieu Xem bài viết
    Đoạn code của em viết để lập 1 bảng lưu thông tin từ file xml.

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using System.IO;
    6. using System.Data;
    7.  
    8. namespace ConsoleApplication1
    9. {
    10.     class Program
    11.     {
    12.         static void Main()
    13.         {
    14.            
    15.             FileStream fs = new FileStream("C:\\Users\thang\Downloads\WAPA262busCPSM3.xml", FileMode.Open);
    16.             DataSet ds = new DataSet();
    17.             ds.ReadXml(fs);
    18.             DataTable mt = ds.Tables["cim:AnalogLimitSet"];
    19.             for (int row = 0; row < mt.Rows.Count; row++)
    20.             {
    21.                 for (int col = 0; col < mt.Columns.Count; col++)
    22.                 {
    23.                     Console.WriteLine("{0,-10}{1}", mt.Columns[col].Caption, mt.Rows[row][col].ToString().Trim());
    24.                 }
    25.                 Console.WriteLine();
    26.             }
    27.             fs.Close();
    28.            
    29.         }
    30.     }
    31. }
    nhưng khi debug máy báo lỗi đường dẫn.
    sao vậy ta?
    Nó báo lỗi là bạn tham chiếu đến 1 đối tượng null. Vì vậy mình nghĩ là 1 trong các biến: fs, ds hoặc mt là null, bạn hãy debug xem các biến đó biến nào có giá trị null thì mới biến là sai cái gì.
    Bạn hãy kiểm tra lại đường dẫn trên thử đã có file WAPA262busCPSM3.xml

  9. #9
    Ngày gia nhập
    04 2011
    Bài viết
    33

    mình debug thì, nó báo cả 3 biến đều null, như vậy cái đường dẫn của mình là ko chính xác.
    Nhưng mình kiểm tra lại đường dẫn thấy file xml đó, mình đã chỉ đúng đường dẫn.
    Ko hiểu sao nó lại ko đúng, lỗi chắc là ở đây.

    mình đã xử lí xong lỗi trên, nhưng khi chạy tiếp thì lại bị lỗi ở đoạn:
    DataTable mt = ds.Tables["cim:ConnectivityNode"];
    đoạn này mình muốn tạo 1 bảng có tên là cim.ConnectivityNode( cim là namespace).
    nhưng khi debug, thì giá trị của biến mt là null, chứng tở câu lệnh trên chưa được thực thi. nhưng theo mình thì cú pháp ở trên ko sai, sao nó lại ko thực thi nhi?
    Attached Files Attached Files

Các đề tài tương tự

  1. Error:Object reference not set to an instance of an object.Không khởi chạy được file Global.asax
    Gửi bởi nightelf trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 16-04-2013, 12:10 PM
  2. Webservice ASP.NET :Lỗi Server Error in '/' Application. Object reference not set to an instance of an object.
    Gửi bởi shindo216 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 06-11-2012, 09:21 PM
  3. TẠO PROJECT WINDOWS PHONE GAME lỗi: object reference not set to an instance of an object?
    Gửi bởi akhoenuol trong diễn đàn Lập trình Windows Mobile bằng C#
    Trả lời: 2
    Bài viết cuối: 01-11-2012, 09:55 AM
  4. lỗi Object reference not set to an instance of an object. khi submit form dùng Html.DropDownList
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 03-05-2012, 04:02 AM
  5. Lổi Session Object reference not set to an instance of an object file Hendler.ashx
    Gửi bởi vuanphuong trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 22-04-2012, 10:22 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn