C# 我在youtube上看到的代码不起作用。我需要通过在文本框上使用textchanged事件来执行Rowfilter
我在youtube上看到的代码不起作用。我需要在文本框上使用TextChanged事件进行行筛选。 我使用MS ACCESS作为我的数据库C# 我在youtube上看到的代码不起作用。我需要通过在文本框上使用textchanged事件来执行Rowfilter,c#,winforms,ms-access,C#,Winforms,Ms Access,我在youtube上看到的代码不起作用。我需要在文本框上使用TextChanged事件进行行筛选。 我使用MS ACCESS作为我的数据库 DataView dv = dt.DefaultView; dv.RowFilter = "Patient_Number LIKE '%" + textBox11.Text + "%'"; 它说找不到列。取自 要形成RowFilter值,请指定列的名称,后跟运算符和要进行筛选的值。该值必须用引号括起来。例如:LastName='Smith' 我编写了一个
DataView dv = dt.DefaultView;
dv.RowFilter = "Patient_Number LIKE '%" + textBox11.Text + "%'";
它说找不到列。取自
要形成RowFilter值,请指定列的名称,后跟运算符和要进行筛选的值。该值必须用引号括起来。例如:LastName='Smith'
我编写了一个小的虚拟Winforms应用程序来测试您的代码,并在名为textbox11的主窗体上放置了一个文本框,就像您的示例一样
在调试模式下运行时,代码
字符串测试=患者编号,如“%+textBox11.Text+%”
当我在textbox11中输入值1234时,计算结果为:患者编号,如“%1234%”。这看起来格式正确,因为当我删除外部双引号时,将文本用作SQL中的WHERE条件,查询的计算结果正确
基于这一发现,我猜测列Patient_Number在DataView对象中不存在。要检查这一点,请在线路上放置一个断点
DataView dv = dt.DefaultView;
并在VisualStudio的监视窗口中查看DataTable对象dt的Columns属性。要使此代码正常工作,您的数据表将需要包含您试图筛选的列,即患者编号。您应该详细说明您的问题,以便获得最佳答案。