Aiuto query

sabato 07 giugno 2008 - 17.23

zola Profilo | Newbie

ciao a tutti, ho un problema che non riesco a risolvere da piu giorni.... In pratica ho un datagrid collegato a una tabella RICHIEDI e delle caselle di testo collegate a un'altra tabella CLIENTI....il mio problema è che devo visualiozzare nel datagrid i dati che hanno id della tabella CLIENTI = a IDCLIENTI della tabella RICHIEDI...Ho creato la query :
SELECT RICHIEDI.TIPO, RICHIEDI.CITTA, RICHIEDI.LOCALITA, RICHIEDI.ZONA, RICHIEDI.DATA, RICHIEDI.IDCLI, RICHIEDI.PREZZO, CLIENTI.ID
FROM (RICHIEDI INNER JOIN
CLIENTI ON RICHIEDI.IDCLI = CLIENTI.ID)

ma non mi funziona...Come mai?? da premettere che sn alle prime armi con .net percui...
Grazie grazie grazie

ernesto Profilo | Newbie

Select * from richeidi JOIN clienti on richiedi.idcli = clienti.id

se non ti funziona forse hai sbagliato i nomi dei campi delle tabelle, ma che errore ti da di preciso??

zola Profilo | Newbie

no, il datagrid me lo popola ma non mi da il filtro

Giò Profilo | Newbie

Ciao, prova con questa query:

SELECT RICHIEDI.TIPO, RICHIEDI.CITTA, RICHIEDI.LOCALITA, RICHIEDI.ZONA, RICHIEDI.DATA, RICHIEDI.IDCLI, RICHIEDI.PREZZO, CLIENTI.ID
FROM RICHIEDI, CLIENTI
WHERE RICHIEDI.IDCLI = CLIENTI.ID



maxmax03 Profilo | Newbie

Prova cosi
SELECT nomefile1.campo1, nomefile1.campo2, nomefile1.campo3, nomefile1.campo4, nomefile1.campo5, nomefile2.campo1 FROM ( nomeFile1 INNER JOIN nomefile2 ON ( Nomefile1.Campo = nomefile2.Campo ) ) WHERE ( ( condizione))

zola Profilo | Newbie

no nn mi funziona, scusa ma se clienti.id corrisponde ad una casella di testo nel form (idtxtbox) posso scrivere
SELECT RICHIEDI.TIPO, RICHIEDI.CITTA, RICHIEDI.LOCALITA, RICHIEDI.ZONA, RICHIEDI.PREZZO, RICHIEDI.DATA, RICHIEDI.IDCLI
FROM (RICHIEDI INNER JOIN
CLIENTI ON RICHIEDI.IDCLI = CLIENTI.ID)
Where
(RICHIEDI.IDCLI = idtxtbox.text) ?

solo che anche cosi nn mi funziona

maxmax03 Profilo | Newbie

SELECT RICHIEDI.TIPO, RICHIEDI.CITTA, RICHIEDI.LOCALITA, RICHIEDI.ZONA, RICHIEDI.PREZZO, RICHIEDI.DATA, RICHIEDI.IDCLI
FROM (RICHIEDI INNER JOIN
CLIENTI ON RICHIEDI.IDCLI = CLIENTI.ID)
Where
(RICHIEDI.IDCLI = idtxtbox.text) ?

Se lo scrivi cosi non funziona la modifica è questa ricordati che un testo quindi


"SELECT RICHIEDI.TIPO, RICHIEDI.CITTA, RICHIEDI.LOCALITA, RICHIEDI.ZONA, RICHIEDI.PREZZO, RICHIEDI.DATA, RICHIEDI.IDCLI
FROM (RICHIEDI INNER JOIN
CLIENTI ON RICHIEDI.IDCLI = CLIENTI.ID)
Where
RICHIEDI.IDCLI = " + "'" + idtxtbox.text + "'"

zola Profilo | Newbie

scusa ma nenache cosi mi funziona....sto impazzendo da un sacco di giorni e su internet trovo veramente ben poco x poter studiare l'argomento
cosa devo fare??
ti rispego le varie fasi?

Allora.... 1) creo la casella di testo IDTEXTBOX e la associo alla tabella clienti--> campo ID
2) creo il datagrid e lo associo ,tramite datasource alla tabella RICHIEDI (RICHIEDBIINDINGSOURCE)
3)clicco sul mio dataset (DBDataset) e faccio col tasto dex modifica in progettaz...
4) cerco la tabella RICHIEDI e in RICHIEDITableAdapter creo la nuova query : USA ISTRUZIONI SQL --> SELECT CHE RESTITUISCE RIGHE --> e scivo quello che abbiamo detto prima...
5) Salvo e chiudo
6) mi posizione sul datagrid e cliccando sulla freccettina piccola a destra GGIUNGO QUERY...NOME QUERY ESISTENTE (quella creata) e vado OK
7) Fccio partire ma nessun filtro in base a IDTEXTBOX ....

In cosa sbaglio??

pieroalampi Profilo | Expert

se la connessione non la fai in manuale ma bensi in automatico e cioe utilizzando la creazione del dataset datatable etc etc da crea nuova origine dati, la composizione della stringa SQL la trovi nel che di sicuro sostituendola con l'attuale ed inserendo un where RICHIEDI.IDCLI = " + "'" + form.idtxtbox.text + "'" ti funziona, ma il problema si pone nel momento stesso in cui vuoi richiamare un altro cliente, perche lòa stessa farà sempre riferimento a quello su cui puntava prima, prova
la soluzione buona consiste nel creare lo script in manuale
vb.net 2005
------------------------------------------------------
::::Sempre a manetta in curva::::
------------------------------------------------------
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