отображение в форме из базы данных - PullRequest
1 голос
/ 04 мая 2011

Я использую asp.net и c #.Я выполнил некоторые операции с базой данных для отображения данных в форме, но у меня появился только один пустой экран. Если я нажимаю кнопку, значения из базы данных необходимо ввести в форму без использования gridview или datagridview ... но это не работает.

Код:

protected void Button1_Click(object sender, EventArgs e)
{
  string connString = "server=Si\\SQLEXPRESS2005;database=rags;Integrated Security=SSPI";
  string sql = @"select * from time";
  SqlConnection conn = new SqlConnection(connString);

  try
  {
     conn.Open();
     SqlDataAdapter da = new SqlDataAdapter(sql, conn);
     DataSet ds = new DataSet();    
     da.Fill(ds, "time");
     DataTable dt = ds.Tables["time"];
     foreach (DataRow row in dt.Rows)
     {
        foreach (DataColumn col in dt.Columns)
           Console.WriteLine(row[col]);
        Console.WriteLine("".PadLeft(20, '='));
     }
  }
  catch(Exception ex)
  {
     Console.WriteLine("Error: " + ex);
     Console.ReadLine();
  }
  finally
  {
     conn.Close();
  }
}

Разметка:

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

Ответы [ 2 ]

1 голос
/ 04 мая 2011

В ASP.NET используйте Response.Write() вместо Console.

0 голосов
/ 04 мая 2011

Вы не можете использовать System.Console в приложении ASP.NET.

Сделать следующее:

Разметка:

<asp:Table runat="server" ID="table" />

Код:

 using System.Web.UI.WebControls;

 foreach (DataRow row in dt.Rows)
 {
    var tableRow = new TableRow();
    foreach (DataColumn col in dt.Columns)
    {
       var tableCell = new TableCell();
       tableCell.Text = row[col];
       tableRow.Cells.Add(tableCell);
    }
    table.Rows.Add(tableRow);
 }

В любом случае, код доступа к вашей базе данных должен выглядеть следующим образом:

try
{
    string connString = ...
    string sql = ...

    using (DataTable dt = new DataTable()) // not DataSet if you a single database table
    {
        using (SqlConnection conn = new SqlConnection(connString))
        using (SqlDataAdapter da = new SqlDataAdapter(sql, conn))
        {
            conn.Open();
            da.Fill(table);
        }

        foreach (DataRow row in dt.Rows)
        {
            // do stuff
        }    
    }
}
catch (SqlException ex)
{
    // do stuff
}

т.е.

Все, что реализует IDisposable, должно быть удалено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...