错误:找不到表0

巴尔加夫·阿明

我看到有关的错误cannot find table 0,其中数据集不包含表数据。这是我的代码,用于从表中获取行:

    DataTable dt = new DataTable();
    SqlConnection sqlconnection;
    sqlconnection = new SqlConnection(@"connectionstring");
    sqlconnection.Open();
    string sql = "Select (supplier_id,name) from supplier_info where supplier_id= '"+supplierid+"'";
    SqlCommand cmd = new SqlCommand(sql, sqlconnection);
    cmd.CommandType = CommandType.Text;
    SqlDataAdapter adpt = new SqlDataAdapter(cmd);
    DataSet dtset = new DataSet();
    adpt.Fill(dt);
    dt = dtset.Tables[0];
    DataRow dr;
    dr = dt.Rows[0];
    sqlconnection.Close();
    return dr;

业务逻辑代码:

  Cust_datalogic dc = new Cust_datalogic(); //datalogic class
  DataTable dt = new DataTable();
  DataRow dr;
  dr=dc.GetSupplierInfo(id);    //method 
  Supplier_BLL bc = new Supplier_BLL();  //business logic class
  bc.Ssup_ID = dr[0].ToString();
  bc.Ssup_name = dr[1].ToString();
  return bc;
萨帕尔

您在代码中遇到的问题是

adpt.Fill(dt);  //You are filling dataTable 
dt = dtset.Tables[0]; // You are assigning Table[0] which is null or empty 

更改为

adpt.Fill(dtset); //Fill Dataset
dt = dtset.Tables[0]; //Then assign table to dt

或者

您可以直接使用SqlDataAdapter填充DataTable,因此不需要DataSet。

只需删除DataSet,使用

SqlDataAdapter adpt = new SqlDataAdapter(cmd);
adpt.Fill(dt);
DataRow dr = dt.Rows[0];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章