在VB.net中程序代码为
REM 下面判断当某列为字符串或日期型的数据时,需要在查询条件中列值部分加上单引号或#号
Dim DType As System.Type
DType = DS.Tables(0).Columns(ComboBox1.SelectedIndex).DataType
If Trim(ComboBox2.Text) <> "like" Then
If DType Is GetType(String) Then
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + "'" + TextBox1.Text + "'"
ElseIf DType Is GetType(Date) Then
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + "#" + TextBox1.Text + "#"
Else
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + TextBox1.Text
End If
Else
SQLString = Trim(ComboBox1.Text) + " " + Trim(ComboBox2.Text) + " " + "'%" + TextBox1.Text + "%'"
End If
其中DS为dataset,ComboBox也都赋予了初值,程序可以正常运行
而将该代码移植到aspx中后出现错误,具体情况如下:
REM 下面判断当某列为字符串或日期型的数据时,需要在查询条件中列值部分加上单引号或#号
If Trim(DropDown2.Text) <> "like" Then
If DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType.Name Is GetType(String) Then
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + "'" + TextBox1.Text + "'"
ElseIf DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType Is GetType(Date) Then
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + "#" + TextBox1.Text + "#"
Else
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + TextBox1.Text
End If
Else
SQLString = Trim(DropDown1.Text) + " " + Trim(DropDown2.Text) + " " + "'%" + TextBox1.Text + "%'"
End If
运行后在该行“If DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType.Name Is GetType(String) Then ”提示 “未将对象引用设置到对象的实例。”
我该如何修改这段代码啊
假如我要使用 Dim DType As System.Type 该如何为 DType = new XXXXX 设置实例啊并使用
DType = DS.Tables(0).Columns(ComboBox1.SelectedIndex).DataType 给 DType 赋值 ,望高手们指点
REM 下面判断当某列为字符串或日期型的数据时,需要在查询条件中列值部分加上单引号或#号
Dim DType As System.Type
DType = DS.Tables(0).Columns(ComboBox1.SelectedIndex).DataType
If Trim(ComboBox2.Text) <> "like" Then
If DType Is GetType(String) Then
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + "'" + TextBox1.Text + "'"
ElseIf DType Is GetType(Date) Then
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + "#" + TextBox1.Text + "#"
Else
SQLString = Trim(ComboBox1.Text) + Trim(ComboBox2.Text) + TextBox1.Text
End If
Else
SQLString = Trim(ComboBox1.Text) + " " + Trim(ComboBox2.Text) + " " + "'%" + TextBox1.Text + "%'"
End If
其中DS为dataset,ComboBox也都赋予了初值,程序可以正常运行
而将该代码移植到aspx中后出现错误,具体情况如下:
REM 下面判断当某列为字符串或日期型的数据时,需要在查询条件中列值部分加上单引号或#号
If Trim(DropDown2.Text) <> "like" Then
If DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType.Name Is GetType(String) Then
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + "'" + TextBox1.Text + "'"
ElseIf DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType Is GetType(Date) Then
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + "#" + TextBox1.Text + "#"
Else
SQLString = Trim(DropDown1.Text) + Trim(DropDown2.Text) + TextBox1.Text
End If
Else
SQLString = Trim(DropDown1.Text) + " " + Trim(DropDown2.Text) + " " + "'%" + TextBox1.Text + "%'"
End If
运行后在该行“If DS.Tables("标志查询").Columns(DropDown1.SelectedIndex).DataType.Name Is GetType(String) Then ”提示 “未将对象引用设置到对象的实例。”
我该如何修改这段代码啊
假如我要使用 Dim DType As System.Type 该如何为 DType = new XXXXX 设置实例啊并使用
DType = DS.Tables(0).Columns(ComboBox1.SelectedIndex).DataType 给 DType 赋值 ,望高手们指点
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货