[VB.NET 2005 EX+ADO.NET] Dubbio su gestione campo database e suo utili...

sabato 14 marzo 2009 - 13.58

plaguebreath Profilo | Junior Member

Scusatemi prima di tutto per la presunta banalità del problema ma veramente io mi sono bloccato e non so più come uscirne fuori.
Ho questa situazione, 1 database con 2 tabelle con questa struttura.
tab1 -> ID = autoincrementale = chiave primaria
Descr = campo testo

tab2 -> ID = autoincrementale = chiave primaria
IDtab1 = chiave esterna per colegare la tabella 1
versione = numero a due cifre che identifica la versione della nota in riferimento alla tabella 1
nota = campo testo

L'idea è questa, tabella1 ha x valori, ad ogni valore di tabella X sono associati Y valori nella tabella 2.
Se inserisco un nuovo valore nella tabella1 e ne inserisco uno anche nella tabella2 allora il numero di versione partirà da 0
Se inserisco solo una nuova versione nella tabella 2 il valore corrispondente sarà il MASSIMO+1 dei valori di versioni presenti in tabella 2 per quel dato valore della tabella 1.
Il mio blocco scaturisce prima di tutto nel capire come ottenere una logica di questo tipo, negli insert (lavoro con 1 dataset che contiente le due tabelle e con dataadapter) è conveniente creare una stored procedure e quindi lavorare id logica SQL ?
Come faccio, nel momento in cui l'utente mi inserisce una nuova versione a ottenere in output il nuovo valore di [versione] in modo tale che mentre l'utente scrive la sua nota sappia a che numero di versione è arrivato ? E se un utente che sta lavorando contemporaneamente a me ha già inserito la stessa versione come mi devo comportare nell'insert ? Come avete capito sono in crisi sulla modalità disconnessa, spero di essermi spiegato e sopratutto spero di ricevere qualche consiglio che mi permetta di sbloccarmi da questa situazione. Mi era stato suggerito anche di intercettare l'evento di inserimento record per fare questi controlli, ma e per comparare i valori che sono attualmente stati inseriti nel database al volo ? dovrei usare un reader ?
Grazie a tutti.
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