新聞中心
求教啊求教,關(guān)于在VB.NET中不定項多條件查詢的難題
這個只能是一一判斷的:
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武穴企業(yè)網(wǎng)站建設(shè),武穴品牌網(wǎng)站建設(shè),網(wǎng)站定制,武穴網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,武穴網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
為了敘述簡單,假設(shè)有兩個可選條件,內(nèi)容在: TextBox1(姓名)、TextBox2(部門)
主要是構(gòu)造 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
注意:對于字符類型的字段,當(dāng)然要用單引號,上面那樣的,但是對于數(shù)值類型,就不要這個單引號的;但是對于日期類型,那么與字符類型不同的是,把前后的2個單引號,改為井號就是“#”, 這是很多初學(xué)者容易忽略的,也是很多教科書上不提的問題。
對于文本框,由于.NET不提供控件數(shù)組,但是還是可以用語句來實現(xiàn)類似數(shù)組的操作,這樣以上IF語句,就可以簡化。
vb點虐 賦值語句中特殊字符問題
應(yīng)該是在這兩行前面加空格:
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'
如果有問題你把數(shù)據(jù)的表結(jié)構(gòu)發(fā)過來看一下,我?guī)湍阍俨橐幌耂QL語句是否有問題。
vb題 輸入身份證根據(jù)出生年月日計算年紀(jì),用到兩個文本框,一個輸入一個輸出
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
生日標(biāo)簽.Text = 生日.ToLongDateString
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
這是 .NET 的,有疑問請追問
VB點虐 出現(xiàn)變量“myRow”在賦值前被使用,可能會在運行時導(dǎo)致null引用失常的警告
這個是個警告,如果不負(fù)責(zé)任點的話其實可以忽略不管的。
之所以提示這個警告是因為你沒有對myRow進(jìn)行初始化。你可以這么定義myRow,這樣就不會出現(xiàn)警告了。
Dim?dt?As?DataTable?=?New?DataTable()
dt.Columns.Add("姓名")
dt.Columns.Add("性別")
dt.Columns.Add("年齡")
dt.Columns.Add("聯(lián)系方式")
dt.Columns.Add("身份證號")
dt.Columns.Add("所選科室")
dt.Columns.Add("所選醫(yī)生等級")
dt.Columns.Add("病人狀態(tài)")
Dim?myRow?As?DataRow?=?dt.NewRow()
上面只是個簡單的例子,你可以從DataTable里創(chuàng)建新的DataRow對象。
至于第二個問題的話你沒有提供給我異常詳情或者截圖,在下無能為力。
分享文章:vb點虐 身份證信息 vba 身份證閱讀器
文章起源:http://fisionsoft.com.cn/article/ddehpei.html