Amerika111:
¡Aja!, me imagina algo así. Primero, recomiendo que leas la guía de estilo de este sitio (te dice, entre otras cosas, como debes de plantear tus preguntas, para que los compañeros [que tienen mucha paciencia y una disposición del tamaño del mundo, te puedan ayudar a resolver tu problema de la mejor manera]).
Segundo, ya te percataste que tu pregunta, al final de cuentas, no tiene nada que ver con Firebird (tiene que ver mas con C#). Bueno, en fin.
Tercero, voy a hacer lo siguiente: voy a copiar tu código de C# y voy a poner en forma textual que es lo que tienes que hacer (disculpa, pero no conozco dicho lenguaje de programación [hasta el momento solo he hecho una sola prueba y la hice utilizando un copy-paste]), así que tu disculparás.
Código:
privatevoid prueba()
{
FbConnection cn = newFbConnection(FbDB);
cn.Open();
FbConnection cn1 = newFbConnection(FbDB);
cn1.Open();
DataSet ds = newDataSet();
FbDataAdapter ad = newFbDataAdapter("Select * FROM A_EXPORTAIMMS", cn);
ad.Fill(ds);
StringBuilder str = newStringBuilder();
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (int j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
str.Append(ds.Tables[0].Rows[i][j].ToString());
// concatenar a tu variable str el separador que quieres entre columnas
// Excepto a la última columna.
// algo así como esto: str = str + ',' (si quieres que el separdor sea una coma
}
str.AppendLine();
// concatenas a tu variable str un Carriage Return + Line Feed
// algo así como esto: str = str + CHR(13) + CHR(10)
}
Response.Clear();
Response.AddHeader(
"content-disposition",
"attachment;filename=FileName.txt");
Response.Charset =
"";
Response.Cache.SetCacheability(
HttpCacheability.NoCache);
Response.ContentType =
"application/vnd.text";
System.IO.
StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.
HtmlTextWriter htmlWrite =
newHtmlTextWriter(stringWrite);
Response.Write(str.ToString());
Response.End();
cn.Close();
cn1.Close();
cn.Dispose();
cn1.Dispose();
}
Espero que esto te ayude un poco.
Saludos y más atención para la próxima.
Atte:
Gerardo Suárez Trejo