查询结果用datagrid显示
我做了一个查询,这个SQL语句由用户自己根据自己的需要输入到一个text控件中,然后点击按钮执行查询过程,结果在datagrid中显示。这些都已实现。现在我想问的问题是:当用户输入如select * from table句时,如何限制这个table的最后两个field内容不在datagrid中显示,不知如何做?可以设置datagrid吗?
当然不能用select field1,field2,...fieldn from table 来实现。因为用户是不会记住那么多field name. 而且用户也一定会用select * from table这样的语句的。谢谢!
Private Sub CmdExecute_Click()
On Error GoTo Err_Execute
Dim strSql As String
Dim rstSql As New ADODB.Recordset
If Trim(TxtSQL.Text) = "" Then
MsgBox "SQL text is blank. Please check!", vbOKOnly, "Prompt"
Exit Sub
End If
rstSql.CursorLocation = adUseClient
strSql = Trim(TxtSQL.Text)
strSql = LCase(strSql)
rstSql.Open strSql, cnn, adOpenKeyset, adLockPessimistic
Set DgdExplorer.DataSource = rstSql
DgdExplorer.Refresh
Set rstSql = Nothing
Exit Sub
Err_Execute:
MsgBox "SQL syntax error! Please check!", vbOKOnly + vbExclamation, "Warning"
Exit Sub
End Sub --------------------编程问答-------------------- 为什么你要让用户自己去写SQL语句呢?而不做一个界面让用户选择要查询的内容?然后由程序生成SQL语句。而且既然用户使用SQL都没有障碍了,用户怎么就不能够Seletc *之后再Select fieldn显示自己想要的任意内容呢?你的需求不明确 --------------------编程问答-------------------- 我的本意是让用户根据自己的要求,随心所欲的查询。
不过你这也是一个思路。谢谢! --------------------编程问答-------------------- 做一个界面让用户选择,可以实现count,sum之类的吗?可能对我有一定的难度。能否给一些思路或其他?
补充:VB , 数据库(包含打印,安装,报表)