Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql oracle查询以查看数据类型列表_Sql_Vb.net_Oracle_Datagridview - Fatal编程技术网

Sql oracle查询以查看数据类型列表

Sql oracle查询以查看数据类型列表,sql,vb.net,oracle,datagridview,Sql,Vb.net,Oracle,Datagridview,我尝试在datagridview vb.net中显示我的表数据类型。以下是示例代码: oradb = "Data Source=(DESCRIPTION=" _ + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & txtServer1.Text & ")(PORT=" & port1.Value & ")))" _ + "(CONNECT_DATA=(SERVER=DEDICA

我尝试在datagridview vb.net中显示我的表数据类型。以下是示例代码:

        oradb = "Data Source=(DESCRIPTION=" _
      + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & txtServer1.Text & ")(PORT=" & port1.Value & ")))" _
      + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & txtSID.Text & ")));" _
      + "User Id=" & txtUsername1.Text & ";" _
      + "Password=" & txtPassword1.Text
        Dim connOracle As New OracleConnection(oradb)

        Try
            connOracle.Open()
            connOracle.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString())
        Finally
        End Try

        SQL = "desc hr.employees"
        myCommand1.Connection = connOracle
        myCommand1.CommandText = SQL
        myAdapter1.SelectCommand = myCommand1
        myAdapter1.Fill(myTablePreview)
        DataGridView1.DataSource = myTablePreview
我尝试使用用户名“system”登录。运行此代码时,收到错误消息“ORA-00900:无效SQL语句”

我的问题有错吗??
请帮帮我。thank的..

DESC
是一个SQL PLus命令

您可能需要执行实际的查询,如

select * 
from all_tab_cols
where table_name = 'EMP'
DESC(descripe)是一个SQL*Plus命令,不是SQL动词。SQL*Plus是SQL的前端工具,因此它添加了一些自己的命令,这就是其中之一。在使用OLEDB时,必须坚持使用SQL

如果要在客户端程序中使用此数据,可能需要尝试以下操作:

select * 
from all_tab_columns 
where table_name = '<your table name>'
这是纯(Oracle)SQL,您可以在SQL*Plus中进行实验,直到获得所需的列集


Devian Yudha,

是的,这完全是我的意思,但当我对代码进行查询时,没有什么问题。VB.Net无法识别,这就是你的意思吗?你可以用你的桌子换。从表名为'DEPT'yupz的所有_tab_列中选择*就是一个例子。不要用它。如果你想使用高级查询语法(AQS),你首先可以阅读这篇文章。
Select COLUMN_NAME 
from user_tab_columns 
where table_name='EMP'