在VB6中需要ADO的帮助
我正在为我的一个朋友制作一个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