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

Đề tài: xử lí lỗi

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Hà nội
    Bài viết
    1

    Wink xử lí lỗi

    Mình sử dụng các store procedure trong sql 2005, khi chạy chương trình thì báo lỗi :
    Error 1 'quanlidiemsv.connect.Exec_proc(string, System.Data.CommandType, params object[])': not all code paths return a value
    trong đoạn code sau:
    Visual C# Code:
    1. public static DataTable Exec_proc(string ten_proc, CommandType commandType,
    2.             params object[] pars)
    3.        {
    4.            try
    5.            {
    6.                SqlConnection cn = new SqlConnection(str_conn);
    7.                SqlCommand cmd = new SqlCommand();
    8.                cmd.CommandText = ten_proc;
    9.                cmd.CommandType = commandType;
    10.                for (int i = 0; i < pars.Length; i += 2)
    11.                {
    12.                    SqlParameter par = new SqlParameter(pars[i].ToString(), pars[i + 1]);
    13.                    cmd.Parameters.Add(par);
    14.                }
    15.                SqlDataAdapter adap = new SqlDataAdapter();
    16.                adap = new SqlDataAdapter(cmd);
    17.                DataSet ds = new DataSet();
    18.                ds = new DataSet();
    19.                adap.Fill(ds);
    20.                return ds.Tables[0];
    21.  
    22.            }
    23.            catch (SqlException err)
    24.            {
    25.                if (str_conn == SQL_string)
    26.                {
    27.                    str_conn = MSDE_tring;
    28.                }
    29.                else
    30.                {
    31.                    MessageBox.Show("Kết nối CSDL không thành công" + err.Message.ToString(), "Lỗi kết nối");
    32.                    Application.Exit();
    33.                }
    34.                //MessageBox.Show("  Không thể truy cập vì lỗi : " +err .Message ,"Loi ket noi SQL ",MessageBoxButtons .OK , MessageBoxIcon.Error );
    35.            }
    36.        }
    giúp mình với. mình ko bí xử lí làm sao.huhu!!!

    -----------------------------------------------------------
    Chú ý: Cho code vào tag code, nên sử dụng tag code nâng cao - Sunflower
    Đã được chỉnh sửa lần cuối bởi sunflower : 20-04-2008 lúc 05:03 PM. Lý do: nhắc nhở

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Hình như bạn chưa đưa code đầy đủ nên một số khai báo mình không biết bạn đặt như thế nào. Nhưng nhìn sơ qua thì mình thấy có vài điều thế này:

    chưa gán connection cho command nên nó không biết sẽ mở connection nào để lấy dữ liệu.

    Thứ 2 là thừa dòng: //cái này thì ko sao, hơi thừa thôi.
    ds= New DataSet();

    Gác Kiếm

  3. #3
    Ngày gia nhập
    03 2008
    Nơi ở
    Hà nội
    Bài viết
    1

    mình dã sửa như bạn nói nhưng nó vẫn báo lỗi như cũ
    Con gái khối kĩ thuật phải cố gắng gấp đôi

  4. #4
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    483

    not all code paths return a value
    Nghĩa là không phải mọi nhánh mã nguồn đều trả lại một giá trị.

    Trong trường hợp này, có thể lỗi ở trong phần catch mà bạn dùng để xử lý lỗi. Sau khi xử lý xong, nếu vẫn tiếp tục loan truyền lỗi thì phải throw còn ngược lại tức là lỗi đã bị dập tắt thì phải return một DataTable.

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