Domanda

Ho un'applicazione client / server costruito utilizzando DataAbstract e RemObjects dove il cliente sta trasferendo una variabile binaria per il server di mettere nel DB. L'aspetto della funzione del server come questo

function SetItemContent(const anItemId: UnicodeString; const anItemContent: Binary): Boolean;

Ma non so caldo per accedere alla tabella dal server per salvare quella variabile binaria in un blob. Non riesco a trovare alcun riferimento nella documentazione DA sia.

È stato utile?

Soluzione

È possibile utilizzare un TDALocalDataAdapter sul modulo di implementazione del servizio, e agganciare TDAMemDataTable. È quindi possibile utilizzare dinamico, in cui (o parametrizzato DataTable) per trovare e aggiornare il record utilizzando le normali tecniche TDataset. (Cioè inserire, modificare, post)

Si dovrebbe circondare ogni aggiornamento con una transazione. Utilizzare il Connection.BeginTransaction, RollbackTransaction e CommitTransaction.

Modifica ====

Si può anche utilizzare un IDASQLCommand: metodo di Connection.NewCommand uso. È possibile dare a questo l'SQL direttamente come parametro, o (meglio IMHO ++) fornire il nome di un aggiornamento parametrizzata / inserto comando SQL è stato creato nello schema.

Credo che si devono ancora sapere se inserire / aggiornare così si potrebbe utilizzare un metodo di IDADataset da Connection.NewDataset per stabilire questo utilizzando MyDataset.IsEmpty. Creare un set di dati nello schema prima o passare SQL.

Il punto su come utilizzare le transazioni detiene ancora per questo metodo.

++ meglio, perché questo consente di meglio supportare più DB back-end utilizzando più istruzioni per ogni oggetto DataTable o il comando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top