- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 - 48
 - 49
 - 50
 - 51
 - 52
 - 53
 - 54
 - 55
 - 56
 - 57
 - 58
 - 59
 - 60
 - 61
 - 62
 - 63
 - 64
 - 65
 - 66
 - 67
 - 68
 - 69
 - 70
 - 71
 - 72
 - 73
 - 74
 - 75
 - 76
 - 77
 - 78
 - 79
 - 80
 - 81
 - 82
 
                        if (parameter == null)//если ведомость доков...
                {
                    cmd.Connection = dbc;
                    cmd.CommandText =
                        "SELECT RTRIM(n.Element) + ' '+ RTRIM(e.Naim) " +
                        "FROM tb_Element e, tb_ElementName n " +
                        "WHERE n.id = e.id " +
                        "AND e.GostTU ='" + head.Text.Substring(0, head.Text.IndexOf(" ")) + "'";
                    dbc.Open();
                    naim = cmd.ExecuteScalar().ToString();
                    dbc.Close();
                    cmd.CommandText =
                    "SELECT " +
                    " LTRIM(RTRIM(s.NameProject)) " +
                    ",LTRIM(RTRIM(n.Element)) + ' '+ LTRIM(RTRIM(e.Naim)) " +
                    ",LTRIM(RTRIM(d.Obozn)) " +
                    "FROM " +
                    " tb_document d " +
                    ",tb_specificationproject s " +
                    ",tb_element e " +
                    ",tb_elementname n " +
                    "WHERE " +
                    "d.pinsp = s.pinsp " +
                    "AND e.pin = s.pinsp " +
                    "AND n.id = e.id " +
                    "AND s.NameProject IN  " +
                    "( " +
                    namelist +
                    ") " +
                    "ORDER BY d.Pinsp ";
                    dbc.Open();
                    dbr = cmd.ExecuteReader();
                    counter = 0;
                    template = File.ReadAllLines(System.Windows.Forms.Application.StartupPath + "\\doclist.xml");
                    while (template[counter].Trim() != "</Table>")
                    {
                        if (template[counter].Trim() != "<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">%name%</Data></Cell>")
                        {
                            filedata.Add(template[counter]);
                        }
                        else
                        {
                            filedata.Add("<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">" + naim + "</Data></Cell>");
                        }
                        counter++;
                    }
                    tail_start = counter;
                    counter = 8;
                    tmp = "";
                    while (dbr.Read())
                    {
                        if (tmp != dbr[0].ToString())
                        {
                            tmp = dbr[0].ToString();
                            //Определяю высоту строки
                            CalcHeight = " ss:Height = " + '"' + Convert.ToString(rowHeight * (1 + dbr[1].ToString().Length / 10)) + '"';
                            filedata.Add("<Row" + CalcHeight.Replace(',', '.') + ">");
                            filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
                            filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[1].ToString().TrimEnd() + "</Data></Cell>");
                        }
                        else
                        {
                            filedata.Add("<Row ss:Height = \"" + Convert.ToString(rowHeight).Replace(',', '.') + "\">");
                            filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
                            filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
                        }
                        filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[2].ToString().TrimEnd() + "</Data></Cell>");
                        filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
                        filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
                        filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
                        filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
                        filedata.Add("</Row>");
                        counter++;
                    }
                    counter = tail_start;
                    while (counter < template.GetLength(0))
                    {
                        filedata.Add(template[counter]);
                        counter++;
                    }
                }
                                 
        
            Суровый промышленный код. Выгружаем в эксель данные из БД.
        
        
> запрещены вопросы
Ну за что их так?
Они были дурны собой, и совершенно не умели готовить!©
Не ОНИИП, не?
Как и про параметризуемые запросы, видимо.