我使用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" />
答案 0 :(得分:1)
在ASP.NET中,请使用Response.Write()
代替Console
。
答案 1 :(得分: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
}
即
所有wat实现IDisposable,应该被处置。