2014年7月13日 星期日

[RESOLVED] A column named 'Request_ID' already belongs to this DataTable.


Getting error in code . 



  protected void search_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand q = new SqlCommand("select Request_ID, Tbl_Request.Request_Number,Tbl_Request.Request_Qty, Tbl_Device.Device_Name,Dept_Name.Dept_name,Tbl_Request.Request_user, Tbl_Request.Request_DeviceID,Tbl_Request.Request_Dept FROM Request where Request_Number=@Request_Number");
q.Connection = con;
q.Parameters.Add("@Request_Number", SqlDbType.BigInt).Value = Req.Text;
SqlDataReader reader = q.ExecuteReader();
if (reader.HasRows)
{
int count = 0;
dt.Columns.Add("Request_ID"); <<<<<------ ERROR
dt.Columns.Add("Request_Number");
dt.Columns.Add("Request_Qty");
dt.Columns.Add("Device_Name");
dt.Columns.Add("Dept_name");
dt.Columns.Add("Request_user");
dt.Columns.Add("Request_DeviceID");
dt.Columns.Add("Request_Dept");
while (reader.Read())
{
count++;
DataRow row = dt.NewRow();
row["Request_ID"] = reader.GetValue(0).ToString();
row["Request_Number"] = reader.GetValue(1).ToString();
row["Request_Qty"] = reader.GetValue(2).ToString();
row["Device_Name"] = reader.GetValue(3).ToString();
row["Dept_name"] = reader.GetValue(4).ToString();
row["Request_user"] = reader.GetValue(5).ToString();
row["Request_DeviceID"] = reader.GetValue(6).ToString();
row["Request_Dept"] = reader.GetValue(7).ToString();
dt.Rows.Add(row);

}
}







Do you have global dt?


You can not add column everytime. Try like this


DataTable dt = New DataTable();
dt.Columns.Add("Request_ID");
dt.Columns.Add("Request_Number");
dt.Columns.Add("Request_Qty");
dt.Columns.Add("Device_Name");
dt.Columns.Add("Dept_name");
dt.Columns.Add("Request_user");
dt.Columns.Add("Request_DeviceID");
dt.Columns.Add("Request_Dept");







use this:


int count = 0;

dt.Columns.Clear();

dt.Columns.Add("Request_ID"); <<<<<------ ERROR

dt.Columns.Add("Request_Number");

dt.Columns.Add("Request_Qty");

dt.Columns.Add("Device_Name");

dt.Columns.Add("Dept_name");

dt.Columns.Add("Request_user");

dt.Columns.Add("Request_DeviceID");

dt.Columns.Add("Request_Dept");





沒有留言:

張貼留言