모든 검색 후에 제품의 총 수를 표시하려고하므로 신청서에 도움이 필요합니다! 나는 라디오 버튼 목록과 하나의 검색 상자를 사용하여 제품을 검색 할 때마다 테이블 Product에서 매번 한 행을 표시하는 select 문을 작성했습니다. 검색은 Username 또는 Product Id 중 하나 일 수 있습니다. 그런 다음 사용자는 행을 선택하고 gridview에서 삭제할 수 있습니다. 나는 또한 남은 제품의 수를 보여줄 수있는 레이블을 붙였다. 이 레이블은 그리드보기에서 제품 수를 줄 수 있습니다. 내 문제는 내가 사용하는 레이블이 단지 기록만을 생성하는 제 1 번을 보여주고 총 제품 수를 보여줘야한다는 것입니다.select 테이블에서 선택하십시오.
코드 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_AdminUserControl_Product : System.Web.UI.UserControl
{
DataBaseConn Db = new DataBaseConn();
Basket _b = new Product();
protected void Page_Load(object sender, EventArgs e)
{
// Label shows only one record at a time
lblQueue.Text = _b.Queue().ToString();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
grid.DataSource = _b.SelectRow(rdoField.SelectedValue,txtSearch.Text);
grid.DataBind();
lblMsg.Text = "";
btnRemove.Enabled = false;
grid.SelectedIndex = -1;
}
protected void btnRemove_Click(object sender, EventArgs e)
{
if (_b.RemoveProduct(grid.SelectedRow.Cells[1].Text))
lblMsg.Text = "Product is removed";
else
lblMsg.Text = "Unable to remove a Product!";
grid.DataBind();
btnRemove.Enabled = false;
}
protected void grid_SelectedIndexChanged(object sender, EventArgs e)
{
btnRemove.Enabled = true;
}
클래스 제품
public DataTable Data(string txtField, string Value)
{
string SQL = String.Format("Select * from Product where {0} like'%{1}%'", txtField, Value);
return Data(SQL);
}
public DataTable Data(string Query)
{
try
{
return Db.RunQuery(Query);
}
catch
{
return new DataTable();
}
}
public bool RemoveProduct(string ProductId)
{
this.ProductID = ProductId;
return Delete();
}
public DataTable SelectRow(string Field, string Value)
{
string sql = string.Format("SELECT TOP 1 * FROM Product where {0} like '%{1}%' ORDER BY
ProductID ASC", Field, Value);
return SelectRow(sql);
}
public DataTable SelectRow(string Query)
{
try
{
return Db.RunQuery(Query);
}
catch
{
return new DataTable();
}
}
//This label should show number of all products i.e from 0- any number
public int Queue()
{
int customers;
String sql = String.Format("Select Count(*) from Product");
customers = Db.RunQuery(sql).Rows.Count;
return customers;
}
}
이'DataBaseConn' 목적은 무엇인가에 대해 ExecuteScalar는에 간단 할 수 있는가? 행을 계산하기 위해 쿼리를 실행할 수 없습니다. 스칼라 선언문을 실행해야합니다! – rodrigogq
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –