Metode getColumns (SQLServerDatabaseMetaData)

Unduh driver JDBC

Mengambil deskripsi kolom tabel yang tersedia dalam katalog yang ditentukan.

Sintaks

  
public java.sql.ResultSet getColumns(java.lang.String catalog,  
                                     java.lang.String schema,  
                                     java.lang.String table,  
                                     java.lang.String col)  

Parameter

katalog

String yang berisi nama katalog.

skema

String yang berisi pola nama skema.

tabel

String yang berisi pola nama tabel.

Kolose

String yang berisi pola nama kolom.

Tampilkan Nilai

Objek SQLServerResultSet .

Pengecualian

SQLServerException

Keterangan

Metode getColumns ini ditentukan oleh metode getColumns di antarmuka java.sql.DatabaseMetaData.

Tataan hasil yang dikembalikan oleh metode getColumns akan berisi informasi berikut:

Nama Jenis Deskripsi
TABLE_CAT String Nama katalog.
TABLE_SCHEM String Nama skema tabel.
TABLE_NAME String Nama tabel.
COLUMN_NAME String Nama kolom.
DATA_TYPE smallint Jenis data SQL dari java.sql.Types.
TYPE_NAME String Nama jenis data.
COLUMN_SIZE int Presisi kolom.
BUFFER_LENGTH smallint Mentransfer ukuran data.
DECIMAL_DIGITS smallint Skala kolom.
NUM_PREC_RADIX smallint Radiks kolom.
NULLABLE smallint Menunjukkan apakah kolom dapat diubah ke null. Jenis dapat berupa salah satu dari nilai berikut:

columnNoNulls (0)

columnNullable (1)
REMARKS String Komentar yang terkait dengan kolom.

Catatan: SQL Server selalu mengembalikan null untuk kolom ini.
COLUMN_DEF String Nilai default kolom.
SQL_DATA_TYPE smallint Nilai jenis data SQL seperti yang muncul di bidang TYPE deskriptor. Kolom ini sama dengan kolom DATA_TYPE, kecuali untuk jenis data interval tanggalwaktu dan SQL-92. Kolom ini selalu mengembalikan nilai.
SQL_DATETIME_SUB smallint Kode subjenis untuk jenis data interval datetime dan SQL-92. Untuk jenis data lainnya, kolom ini mengembalikan NULL.
CHAR_OCTET_LENGTH int Jumlah maksimum byte dalam kolom.
ORDINAL_POSITION int Indeks kolom dalam tabel.
IS_NULLABLE String Menunjukkan apakah kolom mengizinkan nilai null.
SS_IS_SPARSE smallint Jika kolom adalah kolom jarang, kolom ini memiliki nilai 1; jika tidak, 0. 1
SS_IS_COLUMN_SET smallint Jika kolom adalah kolom column_set jarang, kolom ini memiliki nilai 1; jika tidak, 0. 1
SS_IS_COMPUTED smallint Menunjukkan apakah kolom dalam TABLE_TYPE adalah kolom komputasi. 1
IS_AUTOINCREMENT String "YA" jika kolom dinaikkan secara otomatis. "TIDAK" jika kolom tidak dinaikkan secara otomatis. "" (string kosong) jika driver tidak dapat menentukan apakah kolom bertahap otomatis. 1
SS_UDT_CATALOG_NAME String Nama katalog yang berisi jenis yang ditentukan pengguna (UDT). 1
SS_UDT_SCHEMA_NAME String Nama skema yang berisi jenis yang ditentukan pengguna (UDT). 1
SS_UDT_ASSEMBLY_TYPE_NAME String Jenis nama yang sepenuhnya memenuhi syarat yang ditentukan pengguna (UDT). 1
SS_XML_SCHEMACOLLECTION_CATALOG_NAME String Nama katalog tempat nama koleksi skema XML ditentukan. Jika nama katalog tidak dapat ditemukan, variabel ini berisi string kosong. 1
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME String Nama skema tempat nama koleksi skema XML ditentukan. Jika nama skema tidak dapat ditemukan, ini adalah string kosong. 1
SS_XML_SCHEMACOLLECTION_NAME String Nama koleksi skema XML. Jika nama tidak dapat ditemukan, ini adalah string kosong. 1
SS_DATA_TYPE tinyint Jenis data SQL Server yang digunakan oleh prosedur tersimpan yang diperluas.

Catatan Untuk informasi selengkapnya tentang jenis data yang dikembalikan oleh SQL Server, lihat "Jenis Data (Transact-SQL)" di SQL Server Books Online.

(1) Kolom ini tidak akan ada jika Anda menyambungkan ke SQL Server 2005 (9.x).

Catatan

Untuk informasi selengkapnya tentang data yang dikembalikan oleh metode getColumns, lihat "sp_columns (Transact-SQL)" di SQL Server Books Online.

Di Microsoft SQL Server JDBC Driver 3.0, Anda akan melihat perubahan perilaku berikut dari versi Driver JDBC sebelumnya:

Kolom DATA_TYPE memiliki perubahan berikut:

Tipe Data SQL Server Jenis Pengembalian di Driver JDBC 2.0 (atau, jika tersambung ke SQL Server 2005 (9.x)) dan Konstanta Numerik Terkait Jenis Pengembalian di Driver JDBC 3.0 saat tersambung ke SQL Server 2008 (10.0.x) dan versi yang lebih baru
jenis yang ditentukan pengguna lebih besar dari 8 kB LONGVARBINARY (-4) VARBINARY (-3)
geografi LONGVARBINARY (-4) VARBINARY (-3)
geometry LONGVARBINARY (-4) VARBINARY (-3)
varbinary(max) LONGVARBINARY (-4) VARBINARY (-3)
nvarchar(maks) LONGVARCHAR (-1) atau LONGNVARCHAR (JDBC 4) (-16) VARCHAR (12) atau NVARCHAR (JDBC 4) (-9)
varchar(max) LONGVARCHAR (-1) VARCHAR (12)
waktu VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) WAKTU (-154)
tanggal VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) TANGGAL (91)
datetime2 VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) TANDA WAKTU (93)
tanggalwaktulewat VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) microsoft.sql.Types.DATETIMEOFFSET (-155)

Kolom COLUMN_SIZE memiliki perubahan berikut:

Tipe Data SQL Server Jenis Pengembalian di Driver JDBC 2.0 Jenis Pengembalian di Driver JDBC 3.0
nvarchar(maks) 1073741823 2147483647 (metadata database)
xml 1073741823 2147483647 (metadata database)
jenis yang ditentukan pengguna kurang dari atau sama dengan 8 kB 8 kB (tataan hasil dan metadata parameter) Ukuran aktual yang dikembalikan oleh prosedur tersimpan.
waktu Panjang karakter representasi string jenis, dengan asumsi presisi maksimum yang diizinkan dari komponen detik pecahan.
tanggal sama seperti waktu
datetime2 sama seperti waktu
tanggalwaktulewat sama seperti waktu

Kolom BUFFER_LENGTH memiliki perubahan berikut:

Tipe Data SQL Server Jenis Pengembalian di Driver JDBC 2.0 Jenis Pengembalian di Driver JDBC 3.0
jenis yang ditentukan pengguna lebih besar dari 8 kB 2147483647

Kolom TYPE_NAME memiliki perubahan berikut:

Tipe Data SQL Server Jenis Pengembalian di Driver JDBC 2.0 Jenis Pengembalian di Driver JDBC 3.0
varchar(max) teks varchar
varbinary(max) gambar varbinary

Kolom DECIMAL_DIGITS memiliki perubahan berikut:

Jenis SQL Server Driver JDBC 2.0 Driver JDBC 3.0
waktu null 7 (atau lebih kecil jika ditentukan)
tanggal null null
datetime2 null 7 (atau lebih kecil jika ditentukan)
tanggalwaktulewat null 7 (atau lebih kecil jika ditentukan)

Kolom SQL_DATA_TYPE memiliki perubahan berikut:

Tipe Data SQL Server SQL Server 2008 Nilai Data di Driver JDBC 2.0 SQL Server 2008 Nilai Data di JDBC Driver 3.0
varchar(max) -10 -9
nvarchar(maks) -1 -9
xml -10 -152
jenis yang ditentukan pengguna kurang dari atau sama dengan 8 kB -3 -151
jenis yang ditentukan pengguna lebih besar dari 8 kB Tidak tersedia di Driver JDBC 2.0 -151
geografi -4 -151
geometry -4 -151
hierarchyid -4 -151
waktu -9 92
tanggal -9 91
datetime2 -9 93
tanggalwaktulewat -9 -155

Contoh

Contoh berikut menunjukkan cara menggunakan metode getColumns untuk mengembalikan informasi untuk tabel Person.Contact dalam database sampel AdventureWorks2022.

import java.sql.*;  
public class c1 {  
   public static void main(String[] args) {  
      String connectionUrl = "jdbc:sqlserver://localhost:1433;encrypt=true;databaseName=AdventureWorks;integratedsecurity=true";  
  
      Connection con = null;  
      Statement stmt = null;  
      ResultSet rs = null;  
  
      try {  
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
         con = DriverManager.getConnection(connectionUrl);  
         DatabaseMetaData dbmd = con.getMetaData();  
         rs = dbmd.getColumns("AdventureWorks", "Person", "Contact", "FirstName");  
  
         ResultSet r = dbmd.getColumns(null, null, "Contact", null);  
         ResultSetMetaData rm = r.getMetaData();   
         int noofcols = rm.getColumnCount();  
  
         if (r.next())  
            for (int i = 0 ; i < noofcols ; i++ )  
            System.out.println(rm.getColumnName( i + 1 ) + ": \t\t" + r.getString( i + 1 ));  
      }  
  
      catch (Exception e) {}  
      finally {}  
   }  
}  

Lihat juga

Metode SQLServerDatabaseMetaData
Anggota SQLServerDatabaseMetaData
Kelas SQLServerDatabaseMetaData