C#表单无法对string和int执行operation =

时间:2016-12-09 01:06:30

标签: c# string integer

我有这个populate表类。我得到的错误无法执行string和int的操作。我做错了什么?

我正在尝试根据Md_id获取数据,Md_id是datagridview1中单击行的行号并显示ff。 datagridview2中的数据。但是因为行而得到下面的错误。

view.RowFilter = "MD_ID = " + MdNum ;

以下是我的代码:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    //get Md_id based on the row
    String MdNum = dataGridView1.CurrentRow.Cells[0].Value.ToString();

    //populate datagridview2
    XMLLevel2PopulateTable(MdNum.ToString());
}

private void XMLLevel2PopulateTable(string MdNum)
{
    DataTable dt = new DataTable();
    dt = ds.Tables["Tables"];
    DataView view = new DataView(dt);
    view.RowFilter = "MD_ID = " + MdNum ; // error here with mdNum
    dataGridView2.DataSource = view;
}

错误是:

  

System.Data.dll中出现未处理的“System.Data.EvaluateException”类型异常

     

附加信息:无法对System.String和System.Int32执行'='操作。

尝试了ff代码,但仍然存在错误。

private void XMLLevel2PopulateTable(string MdNum)
{
    DataTable dt = new DataTable();
    dt = ds.Tables["Tables"];
    DataView view = new DataView(dt);
    view.RowFilter = string.Format("MD_ID = {0}", MdNum); // error here with mdNum
    dataGridView2.DataSource = view;
}

1 个答案:

答案 0 :(得分:1)

如果您的列是整数类型。该异常告诉您正在尝试将字符串与int进行比较。

 view.RowFilter = string.Format("MD_ID = '{0}'", MdNum);