ap24dp
Messages postés20Date d'inscriptionvendredi 10 février 2012StatutMembreDernière intervention20 août 2013
-
18 mars 2012 à 11:33
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
20 mars 2012 à 08:27
salut,
j'ai un formulaire qui remplit une bd access.
un html qui me permet de lire la bd dans un tableau, mais je souhaite avoir un bouton qui me permet d'enregistrer ce résultat dans un fichier lisible par un tableur
ci-dessous la source de l'extraction
----------------------------------------
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
' On définit la connection
Dim Conn As New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("\data\athletisme.mdb"))
sub Page_Load(obj as Object, e as EventArgs)
if Not Page.IsPostBack then
FillDataGrid()
end if
FillDataGrid()
end sub
sub FillDataGrid()
'Ouverture de la connexion
dim objCmd as new OleDbCommand _
("select * from LISTE", Conn)
dim objReader as OleDbDataReader
try
objCmd.Connection.Open()
objReader = objCmd.ExecuteReader()
catch ex as Exception
lblMessage.Text = "Erreur de liaison avec la base de données."
end try
dgData.DataSource = objReader
dgData.DataBind()
objReader.Close
objCmd.Connection.Close()
end sub
function ExecuteSQL(strSQL)
dim objCmd as new OleDbCommand(strSQL, Conn)
try
objCmd.Connection.Open()
objCmd.ExecuteNonQuery()
catch ex as Exception
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 19 mars 2012 à 09:46
Salut,
il va falloir parcourir la commande toi-même, généré le résultat au format CSV (un tuple par ligne, valeurs de champs séparés par des points virgules). Rien de compliqué ;)
Lors de la génération de la Response il faudra également réécrire l'entête pour dire au client qu'il s'agit d'un document CSV, et non d'une page "normale" qui va lui arriver. Je vais t'éviter quelques recherches, voici le code correspondant (en C#) :