Загрузка файла, созданного из SQL-запроса — BLAZOR SERVERC#

Место общения программистов C#
Ответить
Anonymous
 Загрузка файла, созданного из SQL-запроса — BLAZOR SERVER

Сообщение Anonymous »

У меня есть файл, который создает файл *.csv на сервере по пути C:\backup. Файл создается с помощью SQL-запроса к базе данных. Я хотел бы прикрепить кнопку, которая позволит мне одновременно создать файл и загрузить его.
Метод, создающий файл на сервере:

Код: Выделить всё

    public void erxporttoExcelMO(int mg, string mag)
{
using (SqlConnection connection = new SqlConnection(con))
{

connection.Open();

DateTime today = DateTime.Now;
string exportPath = @"C:\backup\magazyn_okuc\";
string exportCsv = "MagazynOkuc.csv";
string filepath = exportPath + exportCsv;
if (File.Exists(filepath))
{
File.Delete(filepath);
}
//  string exportCsv = "MagazynOkuc"+mag+ "-" + today.Date.ToString("dd/MM/yyyy") +".csv";
StreamWriter csvFile = null;
var sql = "SELECT ROW_NUMBER()OVER( ORDER BY om.indeks ) as row_number, om.indeks,om.nazwa,p.jednostka,om.data_zalozenia,om.data_lastmodf,(p.ilosc - CASE WHEN(SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer ) IS NULL THEN 0 ELSE (SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer )END) as ilosc,(CASE WHEN(SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer ) IS NULL THEN 0 ELSE (SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer )END) as ilosc_zarez,r.opis as regal,p.polka,p.stan, p.uwagi,CASE WHEN (SUM(t.TwZ_Ilosc) IS NULL) THEN 0 ELSE ROUND(SUM(t.TwZ_Ilosc),2) END AS ERPXL,  CASE WHEN p.minimal IS NULL THEN 0 ELSE p.minimal END AS minimal, CASE WHEN p.Przydas IS NULL THEN 0 ELSE p.Przydas END AS przydas, CASE WHEN p.opty_wykluczenie IS NULL THEN 0 ELSE p.opty_wykluczenie END AS opty_wykluczenie, ((SELECT SUM(pp.ilosc) FROM CompositeApps.dbo.mg_okucia_polozenie pp WHERE pp.gid_numer = p.gid_numer AND p.Magazyn = "+mg+")- (CASE WHEN(SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer ) IS NULL THEN 0 ELSE (SELECT SUM(r1.ilosc)  FROM CompositeApps.dbo.rezerwacje r1 WHERE r1.gid_numer =p.gid_numer )END) ) AS suma_ilosci, m.skrot FROM okucia_magazyn om  JOIN mg_okucia_polozenie p ON p.gid_numer = om.gid_numer JOIN mg_regaly r on r.id = p.regal LEFT JOIN [ERPXL_VIKKING].[CDN].[TwrZasoby] t on om.gid_numer = t.TwZ_TwrNumer LEFT JOIN CompositeApps.dbo.rezerwacje rr ON rr.gid_numer = om.gid_numer JOIN CompositeApps.dbo.MagazynyID m ON m.id= p.magazyn WHERE p.magazyn = "+mg +"  GROUP BY om.gid_numer,om.indeks,om.nazwa,om.id,p.jednostka,om.data_zalozenia,om.data_lastmodf,p.ilosc,r.opis,p.polka,p.stan,p.uwagi ,rr.ilosc, p.gid_numer, p.minimal,p.Przydas ,p.opty_wykluczenie, r.id, p.magazyn,m.skrot  ORDER BY om.indeks ASC";
var cmd = new SqlCommand(sql, connection);
SqlDataReader reader = cmd.ExecuteReader();
csvFile = new StreamWriter(@exportPath + exportCsv,true, System.Text.Encoding.UTF8);
csvFile.WriteLine(String.Format("\"{0}\",\"{1}\",\"{2}\"," +
"\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\",\"{13}\",\"{14}\",\"{15}\",\"{16}\",\"{17}\"",
reader.GetName(0), reader.GetName(1), reader.GetName(2),
reader.GetName(3), reader.GetName(4), reader.GetName(5), reader.GetName(6), reader.GetName(7), reader.GetName(8), reader.GetName(9), reader.GetName(10), reader.GetName(11), reader.GetName(12), reader.GetName(13), reader.GetName(14), reader.GetName(15), reader.GetName(16), reader.GetName(17)));
while (reader.Read())
{
csvFile.WriteLine(String.Format("\"{0}\",\"{1}\",\"{2}\"," +
"\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\",\"{13}\",\"{14}\",\"{15}\",\"{16}\",\"{17}\"",
reader[0], reader[1], reader[2], reader[3], reader[4], reader[5], reader[6], reader[7], reader[8], reader[9], reader[10], reader[11], reader[12], reader[13], reader[14], reader[15], reader[16], reader[17]));

}
csvFile.Close();
}
Теперь я не знаю, что с ним делать дальше. Кроме того, добавляется дата, и лучше всего загрузить последнюю версию файла.
Какие советы?

Подробнее здесь: https://stackoverflow.com/questions/785 ... zor-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»