>Ciao a tutti!
Ciao!
>Non sono molto esperto di sql,allora volevo fare due domande:
>come si fa a cercare un dato conoscendone un altro in una tabella?
>Esempio:
>In una tabella una colonna riporta il nome e cognome di una persona
>e un altra riporta il loro codice fiscale. Se io conosco il nome
>e cognome di una persona,scrivendola in un textbox,vorrei che
>mi apparisse in un altro textbox il suo codice fiscale. Qual'è
>il codice da utilizzare per tutto ciò?
Dunque, per prima cosa non è buona norma mettere un valore come "Nome e Cognome" all'interno di una sola cella. E' preferibile usare una colonna Nome ed una Cognome e salvare le informazioni atomicamente. Una volta superato questo problema, dovrai andare a cercare sulla tua tabella per Nome e Cognome andandoti a legare, in base ad una chiave di relazione, all'altra tabella, contenente il codice fiscale.
Ti faccio un esempio con tabelle inventate (SQL Server):
USE tempdb;
GO
-- creo le tabelle
CREATE TABLE dbo.Utenti
(
IDUtente int IDENTITY(1,1) NOT NULL
, Nome varchar(30) NOT NULL
, Cognome varchar(30) NOT NULL
, CONSTRAINT PK_dboUtenti PRIMARY KEY CLUSTERED
(
IDUtente
)
)
GO
CREATE TABLE dbo.UtentiDettaglio
(
IDUtente int NOT NULL
, CodiceFiscale char(16) NOT NULL
, CONSTRAINT PK_dboUtentiDettaglio PRIMARY KEY CLUSTERED
(
IDUtente
)
)
GO
-- imposto la relazione
ALTER TABLE dbo.UtentiDettaglio
ADD CONSTRAINT FK_dboUtenti_dboUtentiDettaglio
FOREIGN KEY (IDUtente)
REFERENCES dbo.Utenti (IDUtente)
GO
-- inserisco i valori
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Alessandro', 'Alpi')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Michael', 'Denny')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Daniele', 'Zanella')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Nicholas', 'Denny')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Andrea', 'Cavallini')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Lorenzo', 'Buscicchio')
INSERT INTO dbo.Utenti (Nome, Cognome)
VALUES ('Marco', 'Rossi')
GO
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (1, 'LPALSN81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (2, 'MCLDNN81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (3, 'DNLZNL81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (4, 'NCLDNN81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (5, 'ADRCVL81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (6, 'LRZBSH81D22G337T')
INSERT INTO dbo.UtentiDettaglio (IDUtente, CodiceFiscale)
VALUES (7, 'MRCRSS81D22G337T')
GO
-- ricero per nome e cognome, ricavando il codice fiscale
SELECT
Ute.Nome
, Ute.Cognome
, Dett.CodiceFiscale
FROM
dbo.Utenti Ute
JOIN dbo.UtentiDettaglio Dett ON Ute.IDUtente = Dett.IDUtente
WHERE
Ute.Nome = 'Alessandro'
AND Ute.Cognome = 'Alpi'
/*
Nome Cognome CodiceFiscale
------------------------------ ------------------------------ ----------------
Alessandro Alpi LPALSN81D22G337T
*/
-- pulizia
DROP TABLE dbo.UtentiDettaglio
DROP TABLE dbo.Utenti
GO
>Nel frattempo io aggiungo nuovi nome (e i loro codice fiscale)
>attraverso un data view grid. Ora vorrei salvare la tabella nel
>database. Come si fa eseguire un salvataggio di una tabella su
>modifiche apportate su data view grid?
>Il linguaggio di programmazione è C#.
Devi gestire gli eventi di inserimento del gridview. Oppure basta impostare un DataSource fatto seguendo le linee guida per avere già un inserimento funzionante.
Leggi un pochino qui:
Classe DataGridView
http://msdn.microsoft.com/it-it/library/system.windows.forms.datagridview(VS.80).aspx
http://msdn.microsoft.com/it-it/library/k39d6s23(VS.80).aspx
http://msdn.microsoft.com/it-it/library/ak81b67y(VS.80).aspx
Ciao!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org