【发布时间】:2011-03-07 05:58:38
【问题描述】:
我正在尝试在 VB6 中显示存储在 SQL Server 中的数据。
ALTER PROCEDURE [dbo].[ledger]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
select a.StockMaster,sum1,sum2,(sum2-sum1) as TQty from
(SELECT tblStockMaster.SmName AS StockMaster, SUM(isnull(tblReceivingD.TotalQuantity,0)) AS sum2
FROM tblStockMaster LEFT JOIN tblReceivingD ON tblReceivingD.StockControlR=tblStockMaster.SmName
GROUP BY tblStockMaster.SmName) a ,
(SELECT tblStockMaster.SmName AS StockMaster, SUM(isnull(tblPurchaseOrderD.TotalQuantity,0)) AS sum1
FROM tblStockMaster LEFT JOIN tblPurchaseOrderD ON tblPurchaseOrderD.StockControl=tblStockMaster.SmName GROUP BY tblStockMaster.SmName) b
where a.StockMaster =b.StockMaster
在 VB6 中找不到 SQL。如何连接到 SQL 数据库?代码如下:
Private Sub Form_Load()
SetGrid
recdisplay "ledger"
End Sub
Function SetGrid()
With MSFlexGrid1
.Rows = 1
.ColWidth(0) = 0
.ColWidth(1) = 4650: .TextMatrix(0, 1) = "Item Name"
.ColWidth(2) = 3565: .TextMatrix(0, 2) = "Total Quantity"
End With
End Function
Function recdisplay(sql As Variant)
错误提示:
在与请求的名称或序号对应的集合中找不到项目
Dim R As Integer
Set rs = New ADODB.Recordset
rs.Open sql, conn, adOpenStatic, adLockReadOnly
With MSFlexGrid1
.Rows = 1
While Not rs.EOF
.AddItem rs!SMControl & vbTab & rs!SmName & vbTab & rs!tqty
rs.MoveNext
Wend
End With
End Function
【问题讨论】:
-
在您的“With MSFlexGrid1”行上设置一个断点,转到您的即时窗口并输入:rs.Save "c:\rs.xml",adPersistXML ...这将写入您的记录集到 xml,以便您可以在代码之外检查它
-
感谢先生的关心!感谢您的帮助
标签: sql-server vb6