Domanda veloce sul nome delle colonne

venerdì 26 agosto 2005 - 08.58

lordwaizard Profilo | Senior Member

Conoscendo la tabella alle quale si vuole lavorare (sia in Access che in MSSQL) è possibile sapere il nome delle colonne che ne fanno parte?
Grazie scusate per la domanda


PS
Conoscete qualche manuale/pdf/libro per evitare domande di questo tipo?

Cteniza Profilo | Guru

Si puoi aprire un datareader sulla tabella e poi ottenere da questo tutte le informazioni sulla struttura della tabella.
cn.Open()
dr = cm.ExecuteReader(CommandBehavior.KeyInfo)
Dim schemaTable As DataTable = dr.GetSchemaTable()
schematable contiene una collection di rows, ciascuna delle row contiene la
definizione del singolo campo

Cteniza Profilo | Guru

Dimenticavo il libro:
Qualsiasi libro va bene, perchè queste informazioni si trovano dentro il reference di ADO.NET distribuito insieme al framework .sdk e quindi te le ritrovi già nel tuo disco.
L'unica cosa importante è però che tu ne faccia uso, anche il miglior manuale del mondo non serve a niente se non lo leggi.


lbenaglia Profilo | Guru

> Conoscendo la tabella alle quale si vuole lavorare (sia in Access che in MSSQL)
> è possibile sapere il nome delle colonne che ne fanno parte?

Ciao lordwaizard,

per quanto riguarda SQL Server puoi ricorrere alle INFORMATION_SCHEMA views che ti permettono di recuperare i metadati senza la necessità di interrogare dirrettamente le tabelle di sistema.
Queste viste aderiscono allo standard ANSI SQL 92.
Nel tuo caso puoi servirti della INFORMATION_SCHEMA view COLUMNS:

USE Northwind
GO

/* Recupero il nome ed il data type delle colonne della tabella Employees */
SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = N'dbo'
AND TABLE_NAME = N'Employees'
GO

/* Output:

COLUMN_NAME DATA_TYPE
---------------- ----------
EmployeeID int
LastName nvarchar
FirstName nvarchar
Title nvarchar
TitleOfCourtesy nvarchar
BirthDate datetime
HireDate datetime
Address nvarchar
City nvarchar
Region nvarchar
PostalCode nvarchar
Country nvarchar
HomePhone nvarchar
Extension nvarchar
Photo image
Notes ntext
ReportsTo int
PhotoPath nvarchar

(18 row(s) affected)

*/

> Conoscete qualche manuale/pdf/libro per evitare domande di questo tipo?

Certo, puoi scaricare gratuitamente i Books Online di SQL Server 2000 a partire dal seguente URL:
http://www.microsoft.com/downloads/details.aspx?FamilyID=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=it

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5