⑴ 怎樣在VB中實現sql語言的查詢
在VB6中可用ADO及DATAGRID控制項,用如下語句可更靈活:
Private Sub Form_Load()
Text1 = ""
With Adodc1
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select name from b1 order by name"
Adodc1.Refresh
DataGrid1.Refresh
End With
End Sub
Private Sub Text1_Change()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select name from b1 where name >='" & Text1 & "' order by name"
Adodc1.Refresh'對查詢更新
DataGrid1.Refresh
End Sub
資料庫用VB6編程語言,對新手而言,如何用好ADODC控制項和DATAGRID控制項相當重要。上面的原代碼基於ADODC控制項和DATAGRID控制項的靈活應用。具體做法:
新建工程時選數據工程,此時VB6集成調試環境左邊工具箱內已載入了有關資料庫編程必須的控制項。
然後在FORM1窗體中添加ADODC控制項和DATAGRID控制項,將DATAGRID1的屬性DATASOURCE選ADODC1,打開ADODC1控制項屬性頁使用連接字元串,選生成,在提供者選項中ACCESS資料庫選MICROSOFT jet 4.0 OLE DB Provider,然後按要求連接資料庫等。在ADODC1控制項屬性頁使用連接字元串空白文本窗口中就有一長串字元串,注意該字元串可復制到程序代碼用於編程。ADODC1控制項屬性頁的數據源內有命令文本(SQL)編寫窗口可編寫SQL查詢語言。該窗口的SQL語句可復制到程序代碼用於編程。
SQL查詢語言主要結構為:
Select 查詢欄位 from 表名 Where 查詢條件語句 [排序語句或分組語句]
查詢欄位必須分別用(西文)逗號分開或就用一個*號代替,上述查詢中排序語句建議最好應用。
SQL查詢語言如有錯程序運行時告訴你出錯,作相應改動即可。本人一般先按上述連接,SQL用"SELECT * FROM TabelName"作調試,無問題,用一個按鈕孔件將前述需復制的連接字元串和SQL查詢語言先復制於按鈕控制項的CLICK事件中備著,以便放著以後使用。然後刪去ADODC1孔件,再添加ADODC1控制項再添其他內容。
以上不知是否說清楚?SQL查詢語言多寫多用就會熟練,以上供提問者參考。
⑵ sql查詢欄位 (VB datagrid)
呵呵~~~不好意思,昨天出發了,今天才回來~~剛看到你給我的留言。
上面幾位的回答不知道能不能滿足你的要求。
你這個問題,我的理解是:你用兩個表分別存儲
去年的銷售額和11月份的銷售額?你想用一個查詢語句同時查詢這兩個表裡的數據?如果我理解正確,我上面這位的回答就很正確:用or就可以了啊
答案就是這么簡單,一個or
就搞定!
⑶ vb中用復選框實現多欄位sql查詢
sql = "select * from mytest where 1=0"
dim name1, name2 , name3
For i = 0 To check.Count - 1
If check(i).Value = 1 Then
Select Case i
Case 0
name1 = "文具盒"
Case 1
name2 = "鋼筆"
Case 2
name3 = "鋼筆"
End Select
End If
Next
sql = sql & " or name in ('" & name1 & "','" & name2 & "','" & name3 &"')"
⑷ vb 中如何用SQL語言查詢是否存在某個欄位
我自己也有一個項目需要動態添加欄位,如果本欄位已經存在則不添加。所以告訴你一個實用技巧來判斷「用SQL語言查詢是否存在某個欄位」,方法如下:
【首先告訴你結論:首先採用SQL添加這個欄位「病人姓名」、如果產生錯誤號="-2147217887"即表示欄位存在】
PrivateSubCommand1_Click()'判斷一個欄位「病人姓名」是否存在
OnErrorGoToCunzai'在這里設立一個捕獲欄位是否存在的錯誤陷阱
DimcnnAsNewADODB.Connection
cnn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+App.Path+"db1.mdb;PersistSecurityInfo=False"'設置資料庫路徑
cnn.Open
cnn.Execute"alterTABLE[病人表]addcolumn[病人姓名]text(20)"
cnn.Close
ExitSub
Cunzai:
IfErr.Number="-2147217887"ThenMsgBox"您所要添加的「病人姓名」欄位已經存在於病人表中,不能重復添加!",vbOKOnly,"警告"
EndSub
*******************************************************************************
一定能行的,你自己好好研究研究哦。如圖所示:
⑸ 新手 vb查詢sql資料庫表中的某個欄位並且在combobox下拉選
讀取「chanpinxinxi」欄位的值,再用一個循環寫入到combobox的下拉列表中。
⑹ VB 查詢資料庫某一欄位的所有內容
dim i as long '計數
dim conn as new adodb.connention
dim rs as new adodb.recordset
private sub commad1_click()
rs.Open "select * from table", conn, adOpenKeyset, adLockOptimistic
if rs.RecordCount<> 0 then '查詢資料庫是否為空
for i=0 to rs.RecordCount-1
if zy=rs.filed("姓名") then '判斷所查數據是否等於zy
i=i+1 '等於則計數加一
endif
rs.movenext
next i
enif
end sub