2011-05-04 72 views
1

iam使用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" /> 

回答

1

在ASP.NET,请使用Response.Write()代替Console

+0

这是不行的..任何其他想法 – jeni 2011-05-04 10:57:25

+0

只要表中有数据和您的查询是正确的,你应该看到在屏幕上打印的东西。调试它,看看你是否在DT中获得任何行... – sajoshi 2011-05-06 07:32:57

0

在ASP.NET应用程序中不能使用System.Console

下一步:

标记:

<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,应该配置。

+0

嗨我得到了da.fill(表)中的错误为;最好的重载方法匹配'System.Data.Common.DbDataAdapter.Fill(System.Data .DataTable)'有一些无效参数另一个错误,因为错误参数'1':无法从'System.Web.UI.WebControls.Table'转换为'System.Data.DataTable' – jeni 2011-05-04 12:40:22

+0

@jeni:使用不同的名称HTML表格和DATA表格。 – abatishchev 2011-05-04 14:17:17

相关问题