你可以用 Repeater 数据绑定控件来实现你的目的 给你举个例子:
后台绑定数据的代码:
protected void Page_Load(object sender, EventArgs e)
{
Manager m = new Manager()
string sql = "select from 表名";
DataTable dt = mgetData(sql)Tables[0];
thisRepeater1DataSource = dtDefaultView;
thisRepeater1DataBind();
}
前台显示代码:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<table>
<tr>
<td><%#Eval("用户名") %></td>
<td><%#Eval("编号") %></td>
<td><%#Eval("密码") %></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
这个就是Repeater数据绑定控件的好处,在转化成html 代码的时候,直接转化成模板里面的代码,就是模板里面写的是table 它就直接转化成table 没有自动生成的代码,不像DataList 他会自动生成一些代码
首先,要查数据库整行数据,就不能用ExecuteScalar,需要使用ExecuteReader活着干脆使用DataSet,都是可以的。
其次,如果使用DataSet,然后读取数据库每一行值绑定到datagridview
代码:
SqlConnection con = new SqlConnection("server=;uid=sa;database=TextProject");
SqlDataAdapter dr = new SqlDataAdapter("select from CTable",con);
DataSet ds = new DataSet();
drFill(ds,"CTable");
dataGridView1DataSource = dsTables["CTable"];
如果使用ExecuteReader,就需要遍历数据表每一行绑定到datagridview里:
代码:
SqlConnection con = new SqlConnection("server=;uid=sa;database=TextProject");
SqlCommond cmd = conCreatCommond();
cmdCommondText = "select from table1"; //查询数据库语句
SqlDataReader reader = cmdExecuteReader();
while(readerread())
{
//绑定数据到datagridview就可以了
}
可以看得出使用dataset绑定数据源比较简单,但是使用sqldatareader好控制。
// 获得数据写入text(主方法)
private void count(object sender, EventArgs e)
{
string str1 = "select from 表名 where 条件 ";//读取整张表
MySqlConnection coon = MySQLgetMySqlCon();//连接数据库,调方法
MySqlCommand mySqlCommand1 = MySQLgetSqlCommand(str1, coon);
coonOpen();
int record1 = MySQLgetResultCount(mySqlCommand1);
coonClose();
label1Text = record1ToString();
}
//建立执行命令的语句对象
public static MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
{
MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
return mySqlCommand;
}
//查询记录数
public static int getResultCount(MySqlCommand mySqlCommand)
{
MySqlDataReader reader = mySqlCommandExecuteReader();
int result = 0;
try
{
while (readerRead())
{
if (readerHasRows)
{
result = result + 1;
}
}
}
catch (Exception)
{
}
finally
{
readerClose();
}
return result;
}
//此方法连接数据库
public static MySqlConnection getMySqlCon()
{
String mysqlStr = "Database=test3;Data Source=127001;User Id=root;Password=123456;pooling=false;CharSet=utf8;port=3306;Allow Zero Datetime=True";
MySqlConnection mysql = new MySqlConnection(mysqlStr);
return mysql;
}
影响显示记录行数的关键条件:
While ((Repeat1__numRows <> 0) AND (NOT dastEOF))
Repeat1__numRows <> 0
NOT dastEOF
其中下面的 Repeat1__numRows=Repeat1__numRows-1 这行代码的影响就是,每显示一行,其值就减1, 因为你提供的代码没显示他初始值是多少,如果是1的话, 那只能显示一行。 如果是10的话, 那应该不存在问题。
其实你提供的代码没有查询的SQL相关语句,不知道具体的SQL语句是什么?
select [top x] from where 有没有带 top x,这里有 top x 就是显示几行记录
ConsumeTime between cast(GetDate()-05 as int) and GetDate()
GetDate()是现在系统时间
GetDate()-05是12小时前的时间
所以你上边的sql语句是查询时间以前12个小时的数据,如果想查询固定的早上或者中午的数据,如果是通过sql查询分析器则可以直接把查询时间段替换一下即可
如查询今天中午的可以用
ConsumeTime between 2008-10-21 8:00:00 and 2008-10-21 14:00:00
,如果是别的软件,可以把ConsumeTime后的条件设置为参数,当选择早上时就查询1900-1-1 1900-1-1 8:00:00 之间的数据,当查询中午 就把参数替换为1900-1-1 8:00:00 1900-1-1 14:00:00 ,日期肯定要换,时间就设置成固定就可以了
以上就是关于数据库记录怎样显示在Table中(c#)全部的内容,包括:数据库记录怎样显示在Table中(c#)、数据库中查询的记录怎么显示在datagridview中用的是VB 2008 SQLserver、C#中查询数据库中记录个数并显示。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)