Metode getColumns (SQLServerDatabaseMetaData)
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
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