Asp.net 如何按sqldatasource统计获取的行 受保护的子按钮1\u单击(ByVal sender作为对象,ByVal e作为事件参数)处理按钮1。单击 Dim LoginChecker作为新的SqlDataSource() LoginChecker.ConnectionString=ConfigurationManager.ConnectionString(“a1connectionString”).ToString() LoginChecker.SelectCommandType=SqlDataSourceCommandType.Text LoginChecker.SelectCommand=“从一个登录名中选择用户名,其中用户名=@username和密码=@password” LoginChecker.SelectParameters.Add(“用户名”,username.Text) LoginChecker.SelectParameters.Add(“密码”,password.Text) Dim rowsAffected As Integer=0 尝试 rowsAffected=LoginChecker。 特例 'Server.Transfer(“LoginSucessful.aspx”) 最后 LoginChecker=无 结束尝试 username.Text=rowsAffected '如果rowsAffected=1,则 'Server.Transfer(“A1success.aspx”) ”“否则呢 'Server.Transfer(“A1failure.aspx”) "完" 端接头
这是login.aspx.vb的代码Asp.net 如何按sqldatasource统计获取的行 受保护的子按钮1\u单击(ByVal sender作为对象,ByVal e作为事件参数)处理按钮1。单击 Dim LoginChecker作为新的SqlDataSource() LoginChecker.ConnectionString=ConfigurationManager.ConnectionString(“a1connectionString”).ToString() LoginChecker.SelectCommandType=SqlDataSourceCommandType.Text LoginChecker.SelectCommand=“从一个登录名中选择用户名,其中用户名=@username和密码=@password” LoginChecker.SelectParameters.Add(“用户名”,username.Text) LoginChecker.SelectParameters.Add(“密码”,password.Text) Dim rowsAffected As Integer=0 尝试 rowsAffected=LoginChecker。 特例 'Server.Transfer(“LoginSucessful.aspx”) 最后 LoginChecker=无 结束尝试 username.Text=rowsAffected '如果rowsAffected=1,则 'Server.Transfer(“A1success.aspx”) ”“否则呢 'Server.Transfer(“A1failure.aspx”) "完" 端接头,asp.net,sql,vb.net,sqldatasource,Asp.net,Sql,Vb.net,Sqldatasource,这是login.aspx.vb的代码 它检查数据库中的用户名和密码,并根据返回的行重新登录到相应的页面。我在sqldatareader命名空间中查找正确的函数时遇到问题,因此它无法计算受影响的行数。有人能告诉我应该在那里使用什么功能吗?提前谢谢 将返回一个IEnumerable。你可以()。在这方面。SQLDataReader没有行计数属性获取计数的最简单方法是这样做 int rowCount = 0; if (dr.HasRows) { while (dr.Read())
它检查数据库中的用户名和密码,并根据返回的行重新登录到相应的页面。我在sqldatareader命名空间中查找正确的函数时遇到问题,因此它无法计算受影响的行数。有人能告诉我应该在那里使用什么功能吗?提前谢谢 将返回一个IEnumerable。你可以()。在这方面。SQLDataReader没有行计数属性获取计数的最简单方法是这样做
int rowCount = 0;
if (dr.HasRows)
{
while (dr.Read())
{
rowCount++;
dgResults.DataSource = dr;
dgResults.DataBind();
dgResults.Visible = true;
}
lblMsg.Text = rowCount.ToString();
dr.Close();
要获取行,请声明
sqlcommand
和sqlconnection
:
Dim cmd as sqlcommand
Dim con as new sqlconnection("Ur connection string")
cmd.connection=con
cmd.commandtext="SELECT count(username) FROM A1login WHERE username=@username AND password=@password"
Dim rowsAffected As Integer = cmd.executescalar()
在rowsaffected
中,您将获得获取的行总数
protected void Button1_Click(object sender, EventArgs e)
{
DataView d =(DataView) SqlDataSource1.Select(DataSourceSelectArguments.Empty);
Response.Write(d.Count);
}
此代码返回计数值使用SqlDataSource控件的
Selected
事件。
选择操作完成后将引发该事件
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
lblRecordCount.Text = "Record Count: " + e.AffectedRows.ToString();
}
谢谢但是,你能详细说明一下你在说什么吗。如果我错了,请纠正我------目标是计算IEnumerables的数量,这样做如何编码。。是ToList(LoginChecker)吗?没有人会出错,没有什么比HasRows更能验证和告诉我的了。我是否需要包含任何其他特定名称空间。
SELECT Count(*) FROM A1login WHERE username=@username AND password=@password"
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
lblRecordCount.Text = "Record Count: " + e.AffectedRows.ToString();
}