21 messaggi dal 30 maggio 2007
Ho una struttura di db composta da:
palinsesto-programmazione-programmi
programmazione è l'associazione tra le due tabelle.
Seleziono i programmi da associare a palinsesto in proggrammazione con una gridview
protected void GridView5_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView5.SelectedRow;
        Session.Add("ProgID", row.Cells[1].Text);
    }

Poi con un bottone scateno l'evento e uso il valore in Progid per identificare
la riga da associare in programmazione e la inserisco in programmazione:
protected void Button1_Click(object sender, EventArgs e)
    {
       SqlConnection connection = new SqlConnection("Data Source=WKS-030\\SQLEXPRESS;Initial Catalog=webtv;Integrated Security=SSPI");
       try
       {
           string i = DropDownList1.SelectedValue;
           string queryString = "INSERT INTO Programmazione (PalinsestoID,ProgrammaID) VALUES (" + i + "," + Session["ProgID"] + ")";
           SqlCommand command = new SqlCommand(queryString, connection);
           command.Connection.Open();
           command.ExecuteNonQuery();
          }
       catch (SqlException err )
       {
Label7.Text = "Non è possibile inserire lo stesso programma nello stesso palinsesto";
           Console.Write(err.Message);
       }
        finally
        {
           connection.Close();
        }
        GridView6.DataBind();
         }

Quello che non capisco è che nonostante l'ordine in cui inserisco le righe di programmi, nella tabella programmazione me le mette in ordine del numero dell'id chiave, cè un modo perchè vengano inserite nell'ordine che voglio io!?
es:
se sono in i=1 selezionato con dropdownlist, e inserisco uno alla volta prima la riga con progid=2 e una con progid=1
in programmazione non avrò
i=1 progid=2
i=1 progid=1
ma
i=1 progid=1
i=1 progid=2

Modificato da dididj il 15 gennaio 2008 14.39 -
Modificato da dididj il 15 gennaio 2008 14.48 -
21 messaggi dal 30 maggio 2007
Dato che ho creato le tabelle con sqlexpress integrato in visual studio ho provato a usare microsoft sql server management per dare un occhio allo script di creazione e vedo che :

CREATE TABLE [dbo].[Programmazione](
[PalinsestoID] [int] NOT NULL,
[ProgrammaID] [int] NOT NULL,
[Inizio] [nchar](10) COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK_Programmazione_1] PRIMARY KEY CLUSTERED
(
[PalinsestoID] ASC,
[ProgrammaID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Immagino che il motivo per cui non mi mette i dati in ordine di inserimento ma in ordine ascendente per quanto riguarda programmaid sia che cosi è stato definito o sbaglio!?
andando a eleminiare [ProgrammaID] asc risolverei?!
qualcuno sa come posso fare dato che ho provato a vedere con sql server management studio ma non mi fa usare il comando alter table..

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.