我正在爲我的一個朋友製作一個POS系統,真正的小而簡單。現在在VB6中需要ADO的幫助
幾乎一切被編碼,除了和庫存視圖
我想使它所以當它點擊一個按鈕,它會加載到一個列表視圖 的UPC代碼,並與該UPC相關的名稱。
我是編程新手,我試圖自己做這個。我知道我需要獲取數據庫中的許多項目(有多少個UPC),然後在listview中添加一個循環。
,但我有麻煩多少行是在數據庫中開始和結束一個循環
我正在爲我的一個朋友製作一個POS系統,真正的小而簡單。現在在VB6中需要ADO的幫助
幾乎一切被編碼,除了和庫存視圖
我想使它所以當它點擊一個按鈕,它會加載到一個列表視圖 的UPC代碼,並與該UPC相關的名稱。
我是編程新手,我試圖自己做這個。我知道我需要獲取數據庫中的許多項目(有多少個UPC),然後在listview中添加一個循環。
,但我有麻煩多少行是在數據庫中開始和結束一個循環
,如果你發佈你的一些代碼,這會更容易些,所以我們可以看到你開始用什麼。但是,你應該可以做這樣的事情(我的VB/ADO是生鏽的,所以我可能會吹一下語法。正如克里斯上面提到的,VB6在牙齒上變得有點長......) 。在大多數情況下,你不需要知道有多少條記錄,以便返回到填充您的ListView - 只需使用一個「做,直到」循環如下:
Public Sub LoadListview()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
SQL = _
"SELECT . . . " & _
"FROM . . . " & _
"WHERE . . . "
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "YourConnectionString"
.Open
End With
Set rs = New ADODB.Recordset
rs.Open SQL, cn, adOpenForwardOnly, adLockReadOnly
With rs
If Not .EOF Then
Do Until .EOF
' Your code to populate your ListView Here
.MoveNext
Loop
End If
End With
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
請注意,我在這裏簡單的東西一點點。在現實中,如果您將條件傳遞到WHERE子句中,通常應該將PARAMETERS與ADODB.Command對象結合使用。在本例中,我沒有包含ADODB.Command。
這裏是即時的編碼如何,你的代碼是非常複雜的,我聽不懂 – enko 2011-03-06 07:02:55
'昏暗RS作爲新ADODB.Recordset rs.Open「tblitem」的一個例子,CON,adOpenDynamic,ADLOCKPESSIMISTIC rs.MoveLast X = RS .Fields(「itemcode」)+ 1 Text1.Text = x' 這是我只是試圖獲取數據庫中的行數 – enko 2011-03-06 07:03:31
@enko:嗯,這並不複雜。如果你不明白這一點,那麼當試圖在VB 6中編寫應用程序的其餘部分時,你會完全迷失方向。我建議你拿起一本書,教你如何用語言進行編程。而且,正如其他人所建議的那樣,如果您以前沒有使用過VB 6的經驗,那麼您最好從一種不同的,更現代的語言開始。 VB.NET或C#是數據庫交互的不錯選擇。 – 2011-03-06 07:36:10
很大程度上取決於您是否使用DAO或ADO對象進行數據庫訪問。告訴我們這可能會爲你提供更有針對性的答案。一般來說,儘管Recordset有一個RecordCount屬性,可以根據你所要求的CursorType來使用它。您也可以執行計數(*)查詢來獲取記錄數。 – Bob77 2011-03-06 05:47:48
對不起,我看到標題中寫着ADO。 – Bob77 2011-03-06 19:17:23