我想过滤数据集中的值。它包含以零和非零值开头的电话号码 。如何从数据集中过滤电话号码(从非零开始)。下面是vb.net代码和产生的错误。
cmd = New OracleCommand("select PHONE from reports.renewal_contact_t where run_date=to_date('" + TextBox1.Text + "','mm/dd/yyyy') and EXP_DATE =to_date('" + TextBox2.Text + "','mm/dd/yyyy') and region not in('TNP')", cn)
ada = New OracleDataAdapter(cmd)
ada.Fill(ds, "reports.renewal_contact_t ")
Dim ds1 As New DataSet
ds1.Tables("reports.renewal_contact_t").DefaultView.RowFilter = "PHONE NOT like'0'"
错误:对象引用未设置为对象的实例。 rowfilter行中的错误
答案 0 :(得分:2)
在你的ds1中有没有表 * reports.renewal_contact_t *。将其更改为
cmd = New OracleCommand("select PHONE from reports.renewal_contact_t where run_date=to_date('" + TextBox1.Text + "','mm/dd/yyyy') and EXP_DATE =to_date('" + TextBox2.Text + "','mm/dd/yyyy') and region not in('TNP')", cn)
ada = New OracleDataAdapter(cmd)
ada.Fill(ds, "reports.renewal_contact_t")
' no need for a new dataset - as you fill ds (and not ds1)!!
ds.Tables("reports.renewal_contact_t").DefaultView.RowFilter = "PHONE NOT like'0'"
答案 1 :(得分:0)
这将对具有类似于
的“架构”的数据集起作用**数据示例> *
Id Value
1 303-888-8888
2 0-418-895-9598
TryCast(filteredDS.Tables(0).Rows.Cast(Of DataRow).Where(Function(row) Not row.ItemArray(1).ToString().Substring(0, 1).Equals("0")), IEnumerable(Of DataRow)).ToList().ForEach(Sub(row) row.Delete())
- 删除手机启动时除零
以外的任何记录