这个只能是一一判断的:
创新互联是一家集网站建设,武穴企业网站建设,武穴品牌网站建设,网站定制,武穴网站建设报价,网络营销,网络优化,武穴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
为了叙述简单,假设有两个可选条件,内容在: TextBox1(姓名)、TextBox2(部门)
主要是构造 Sql的Where子句,那么:
Dim MySqlWhere As String
MySqlWhere=""
If TextBox1.Text"" Then
MySqlWhere= " Where 姓名 = '" TextBox1.Text "'"
End If
If TextBox2.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 部门 = '" TextBox1.Text "'"
Else
MySqlWhere= MySqlWhere " And 部门 = '" TextBox1.Text "'"
End If
End If
'如果还有第3,第4,那只能这样了:
If TextBox3.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段3 = '" TextBox3.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段3 = '" TextBox3.Text "'"
End If
End If
......
If TextBoxn.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段n = '" TextBoxn.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段n = '" TextBoxn.Text "'"
End If
End If
注意:对于字符类型的字段,当然要用单引号,上面那样的,但是对于数值类型,就不要这个单引号的;但是对于日期类型,那么与字符类型不同的是,把前后的2个单引号,改为井号就是“#”, 这是很多初学者容易忽略的,也是很多教科书上不提的问题。
对于文本框,由于.NET不提供控件数组,但是还是可以用语句来实现类似数组的操作,这样以上IF语句,就可以简化。
应该是在这两行前面加空格:
AND AC95.BAE415 '999'
AND AAE140 = '11'
语句改成如下看看:SELECT AAC003 姓名,AAC002 身份证号码,(SELECT DISTINCT FIRST_VALUE(AIC263) OVER(PARTITION BY AAC001 ORDER BY AAE002 DESC) FROM ASSI.AC95 WHERE AC95.AAE117 = '1' AND AC95.BAE415 '999' AND AAE140 = '11'
如果有问题你把数据的表结构发过来看一下,我帮你再查一下SQL语句是否有问题。
Public Class 主窗体
Dim 身份证号码 As String
Dim 生日年份 As String
Dim 生日月份 As String
Dim 生日日期 As String
Dim 生日 As Date
Private Sub 输出生日按钮_Click(sender As Object, e As EventArgs) Handles 输出生日按钮.Click
Try
If 身份证号码输入框.TextLength = 15 Then
身份证号码 = 身份证号码输入框.Text
生日年份 = "19" 身份证号码.Substring(6, 2)
生日月份 = 身份证号码.Substring(8, 2)
生日日期 = 身份证号码.Substring(10, 2)
ElseIf 身份证号码输入框.TextLength = 18
身份证号码 = 身份证号码输入框.Text
生日年份 = 身份证号码.Substring(6, 4)
生日月份 = 身份证号码.Substring(10, 2)
生日日期 = 身份证号码.Substring(12, 2)
Else
MsgBox("请输入正确的身份证号码!", MsgBoxStyle.Information, "身份证号码有误")
身份证号码输入框.SelectAll()
身份证号码输入框.Focus()
Exit Sub
End If
If IsNumeric(生日年份) And IsNumeric(生日月份) And IsNumeric(生日日期) Then
生日 = New Date(生日年份, 生日月份, 生日日期)
End If
生日标签.Text = 生日.ToLongDateString
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
这是 .NET 的,有疑问请追问
这个是个警告,如果不负责任点的话其实可以忽略不管的。
之所以提示这个警告是因为你没有对myRow进行初始化。你可以这么定义myRow,这样就不会出现警告了。
Dim dt As DataTable = New DataTable()
dt.Columns.Add("姓名")
dt.Columns.Add("性别")
dt.Columns.Add("年龄")
dt.Columns.Add("联系方式")
dt.Columns.Add("身份证号")
dt.Columns.Add("所选科室")
dt.Columns.Add("所选医生等级")
dt.Columns.Add("病人状态")
Dim myRow As DataRow = dt.NewRow()
上面只是个简单的例子,你可以从DataTable里创建新的DataRow对象。
至于第二个问题的话你没有提供给我异常详情或者截图,在下无能为力。