Bagikan melalui


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.

Col

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 Tipe 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.Type.
TYPE_NAME String Nama jenis data.
COLUMN_SIZE int Presisi kolom.
BUFFER_LENGTH smallint Ukuran transfer 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 ditautkan 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 kumpulan 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 kecil 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) TIME (-154)
date VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) TANGGAL (91)
tanggalwaktu2 VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) TANDA WAKTU (93)
tanggalwaktulewat VARCHAR (12) atau NVARCHAR (JDBC 4) (-9) microsoft.sql.Type.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 dari jenis , dengan asumsi presisi maksimum yang diizinkan dari komponen detik pecahan.
date sama seperti waktu
tanggalwaktu2 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) text varchar
varbinary(max) gambar varbinary

Kolom DECIMAL_DIGITS memiliki perubahan berikut:

Jenis SQL Server Driver JDBC 2.0 Driver JDBC 3.0
waktu nihil 7 (atau lebih kecil jika ditentukan)
date null null
tanggalwaktu2 nihil 7 (atau lebih kecil jika ditentukan)
tanggalwaktulewat nihil 7 (atau lebih kecil jika ditentukan)

Kolom SQL_DATA_TYPE memiliki perubahan berikut:

Tipe Data SQL Server Nilai Data SQL Server 2008 di Driver JDBC 2.0 Nilai Data SQL Server 2008 di Driver JDBC 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
hierarkiid 4- -151
waktu -9 92
date -9 91
tanggalwaktu2 -9 93
tanggalwaktulewat -9 -155

Contoh

Contoh berikut menunjukkan cara menggunakan metode getColumns untuk mengembalikan informasi untuk tabel Person.Contact di 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