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

从数据库VB 2010中提取SQL命令,sql,visual-studio-2010,sqlcommand,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 Emplo

这可能是一个非常奇怪的问题,但我正在尝试“获取”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")
但是“过程”导致了一个错误,有人熟悉GetSchema()函数吗

我尝试了各种各样的搜索,但我没有任何运气,所以我来到这里


提前感谢

每个查询都有一个
.SQL
属性

此代码将在当前数据库中循环,并为找到的每个查询提供SQL:

Dim db As Database
Dim qr As QueryDef

Set db = CurrentDb

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

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

Private Sub Command2_Click() Me.TextBox1 = CurrentDB.QueryDefs("qryScores").Sql End Sub 专用子命令2_Click() Me.TextBox1=CurrentDB.querydfs(“qryScores”).Sql 端接头
你对“摘录”这个词的使用非常混乱。你能解释一下你想要完成什么吗?你在使用MS Access吗?我问你的原因是我被你的术语弄糊涂了。“数据库中存在的查询”是什么意思。除非您使用的是MS Access,否则这没有意义,因为查询不是数据库对象。如果您使用的是Access,那么它是有意义的,因为Access中的查询是一个数据库对象,指向其他系统中的视图或存储过程。如果我猜对了,您的意思是“我希望在Access数据库中保存的每个查询后面都有SQL语句”。是这样吗?很抱歉搞混了,我还在学术语之类的。我使用的是一个MS Access数据库,它有一个名为qryScores的查询,上面列出了该查询的相应语句。我的意图是,我希望能够获得该声明并将其显示在富文本框中。我已做出修改,以帮助澄清我的问题。我之所以说“针对任何”给定数据库,是因为我没有在程序中硬编码数据库名称或位置,这是用户的自由选择。他们使用一个对话框来选择他们希望从中创建报告的数据库,因此获取模式信息必须没有固定的命名数据库,我在这方面做得很好,因为我只是使用变量进行选择,并在连接时引用变量(如果这有意义的话..对我来说是这样的!哈)数据库不是我可以使用的类型,它在我的设置中没有定义。这是个问题吗?为什么会这样?我使用的是visual studio 2010您可以通过添加对Microsoft access的引用从VS2010访问此文件。您需要将db声明为
Dim db as Access.Database
sorry-误读问题。这是access vba。我会找到vb的等价项。数据库未识别。这是因为我没有正确安装visual studio 2010吗?无论如何,感谢您迄今为止的尝试!如果您在引用中没有访问权限,那么使用
dim db as Object
进行后期绑定,然后
set db=getobject(“c:\MyFiles\MyDatabase.mdb”)
应该可以工作(现在工作,回家后会测试)