从数据库VB 2010中提取SQL命令

时间:2012-08-22 15:49:33

标签: sql visual-studio-2010 sqlcommand

这可能是一个非常奇怪的问题,但我正在尝试“获取”SQL命令以进行报告。

所以说我的Microsoft Access数据库有一个查询,在执行时运行这个SQL语句:

SELECT Staff.SurName, Staff.ID, Staff.Salary, Staff.StartDate, Staff.JobTitle,
Manager.SurName AS [Manager Surname], Department.DeptName AS [Department Name]
FROM Employee AS Staff, Employee AS Manager, Department
WHERE (((Staff.ManagerID)=[Manager].[ID]) AND
           ((Staff.DeptID)=[Department].[DeptID]));

我希望我的visual Basic应用程序能够“获取”任何给定数据库的SQL语句,前提是要获取一个语句(即如果数据库有任何查询,请获取该语句并将其返回给应用程序),如果数据库没有查询,请通过消息通知用户。

这实际上可行吗?

更新:

我试图通过使用'GetSchema()'函数完成此操作:

Dim schema As DataTable = con.GetSchema("PROCEDURES")

但“PROCEDURES”导致错误,是否有人熟悉GetSchema()函数?

我在搜索工作中尝试了各种各样但我没有运气,所以我来到这里。

提前致谢

2 个答案:

答案 0 :(得分:0)

每个查询都有.SQL属性。

此代码将遍历当前的db,并为找到的每个查询提供SQL:

Dim db As Database
Dim qr As QueryDef

Set db = CurrentDb

For Each qr In db.QueryDefs
    MsgBox qr.SQL
Next

答案 1 :(得分:0)

假设您有一个文本框TextBox1和一个名为Command2的命令按钮,您可以使用:

Private Sub Command2_Click()

    Me.TextBox1 = CurrentDB.QueryDefs("qryScores").Sql

End Sub