Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Inserimento FIle

  1. #1

    Inserimento FIle

    Ciao a tutti houn problema dovrei inserire un file in un db sql server ed uso il seguente codice:

    System.Data.DataSet
    l_dataset = new System.Data.DataSet();
    NS_Ole.OleDbDataAdapter
    l_adapter = new NS_Ole.OleDbDataAdapter ( sQuery, m_oledb );

    try
    { // Esegue la Query sulla connessione aperta
    l_adapter.Fill(l_dataset);
    l_dataset.Tables[0].TableName = "Upload_RefertoDettaglio";
    l_dataset.Tables["UPLOAD_REFERTODETTAGLIO"].Rows[0]["REF_File"] = aFile;
    NS_Ole.OleDbCommandBuilder l_builder = new NS_Ole.OleDbCommandBuilder ();
    l_builder.DataAdapter = l_adapter;
    l_adapter.Update(l_dataset,"Upload_RefertoDettagli o");

    return true;
    }
    catch (System.Exception Errore)
    { // Gestione Errore
    sErr=Errore.Message ;
    return false;
    }

    ma mi da sempre il seguente errore:No data exists for the row/column.Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

    non ho idea di come fare se conoscete anche altri modi è tutto accetto

    grazie mille

  2. #2
    Questo errore è dovuto al fatto che, molto probabilmente, non hai impostato, all'interno del tuo DataBase, un campo con chiave primaria.

    Credo possa risultarti utile il seguente link:

    http://dbforums.com/arch/210/2003/8/876373

    Non impostando nessun campo a chiave primaria, viene sollevata un'eccezione (il metodo restituisce false...). Le ragioni di tutto ciò sono spiegate nel link che ti ho fornito.

    Comunque il codice che hai postato, se ciò può "tranquillizzarti", funziona correttamente:

    codice:
    <%@ CompilerOptions='/R:"C:\Programmi\Microsoft.NET\Odbc.Net\Microsoft.Data.Odbc.dll"' %>
    <%@ Import Namespace = "Microsoft.Data.Odbc" %>
    <%@ Import Namespace="System.Data" %>
    
    <script language="C#" runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
    	Boolean testBol = testFunction();
    	Messaggio.Text = Convert.ToString(testBol);
    }
    
    public Boolean testFunction()
    {
    	// Imposti qui la tua connessione...
    	OdbcConnection objCn = new OdbcConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    	objCn.Open();
    	String strSql = "SELECT * FROM Tabella";
    
    	// Supponendo che questo sia il nome del file...
    	String aFile = "nomeFile.exe";
    
    	DataSet l_dataset = new DataSet(); 
    	OdbcDataAdapter l_adapter = new OdbcDataAdapter(strSql, objCn);
    
    	try 
    	{
    		// Esegue la Query sulla connessione aperta 
    		l_adapter.Fill(l_dataset); 
    		l_dataset.Tables[0].TableName = "Upload_RefertoDettaglio"; 
    		l_dataset.Tables["UPLOAD_REFERTODETTAGLIO"].Rows[0]["Colonna"] = aFile; 
    		OdbcCommandBuilder l_builder = new OdbcCommandBuilder(); 
    		l_builder.DataAdapter = l_adapter;
    		// ok, eseguiamo l'update
    		l_adapter.Update(l_dataset,"Upload_RefertoDettaglio"); 
    
    		return true; 
    	}
    
    	catch (System.Exception Errore) 
    	{
    		// Gestione Errore 
    		String sErr = Errore.Message; 
    		return false; 
    	} 
    
    	objCn.Close();
    }
    </script>
    <body>
       <h3>
          <asp:Label runat="server" id="Messaggio" />
       </h3>
    </body>
    Spero di esserti stato d'aiuto.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  3. #3
    Grazie mille infatti impostando una chiave ho risolto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.