这是数据库的例子
petType PetName PetDetails PetPrice
---------- ------------ -------------- ----------- -
cat_的 _ ___ 小猫的 _ __ _ ___ < /强> 非的 _ __ _ _ _2000.00
dog_的 __ 千 __ _ ___ 非的 _ __ _ __ _3000.00
bird_的 _ _ parrow 的 _ __ _ 非的 _ __ _ ____ _1000.00
我做的代码:
PetStore.aspx
<form id="form1" runat="server">
<div>
<p>
<asp:label ID="Label1" runat="server" CssClass="DataWebControlStyle">
<HeaderStyle CssClass="HeaderStyle" />
<AlternatingRowStyle CssClass="AlternatingRowStyle" />
</asp:label>
</p>
</div>
</form>
PetStore.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
PetStoreTableAdapter petsAdapter = new PetStoreTableAdapter();
label1.DataSource = productsAdapter.GetPetData();
label1.DataBind();
}
所以我制作的那些代码只显示数据库中的所有数据......如果我只想显示单个值,如“kitty”而不是kitty的数据,我应该怎么办,但只有我想要的单词“kitty”在我的页面上的“label1.text”上显示..谢谢
答案 0 :(得分:0)
您需要使用ExecuteScalar
来获取单个值。检查以下链接。它将从结果集返回第一行的第一列。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx
另外,请检查以下URL,以便将值从executioncalar分配到label:
http://asp.net-informations.com/data-providers/asp-executescalar.htm
此外,您的示例令人困惑,因为您的示例中有gridview
,说明中有label1.text
。我假设你有一个label
。
答案 1 :(得分:0)
您需要的列在绑定字段中指定 例如
<asp:ButtonField HeaderText="PetName " DataTextField="PetName" Visible="false" />
并使AutoGenerateColumns =“false”
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" CssClass="DataWebControlStyle">
<Columns>
<asp:ButtonField HeaderText="PetName " DataTextField="PetName" Visible="false" />
</Columns>
<HeaderStyle CssClass="HeaderStyle" />
<AlternatingRowStyle CssClass="AlternatingRowStyle" />
</asp:GridView>
答案 2 :(得分:0)
如果您需要Column
值:
public DataSet GetPetDetails()
{
DataSet ds = new DataSet();
string connectString = constr.GetConString();
using( var con = new OleDbConnection(connectString))
using( var cmd = new OleDbCommand("select * from PetMaster", con))
{
con.Open();
using(var adp = new OleDbDataAdapter(cmd))
{
adp.Fill(ds);
}
}
return ds;
}
要显示All Column Values
'PetName'
Comma
protected void Bind()
{
DataSet ds = new DataSet();
ds = GetPetDetails();
if (ds != null)
{
foreach (DataTable table in ds.Tables)
{
foreach (DataRow dr in table.Rows)
{
label1.text += dr["PetName"].ToString()+",";
}
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
Bind();
}
分隔:
label1.text=ds.Tables[0].Rows[0]["PetName"].ToString();
单柱&amp;单行值:(仅限单词Kitty)
{{1}}
注意:请考虑上表中提到的示例数据。 '0'是DataSet中的行号&amp; PetName是专栏。
如果有任何问题,请告诉我吗? 希望这可以帮助你......! :)
答案 3 :(得分:-1)
为了从数据库中只获取一条记录或从数据库中逐一记录,“数据读取器”是一种很好的方法。检查下面的网站您可以在数据读取器上获得清晰的想法。
http://www.aspdotnet-suresh.com/2012/10/aspnet-difference-between-datareader.html
例如:
SqlConnection connection=New SqlConnection("your connection string");
SqlCommand command = new SqlCommand(
"SELECT PetName FROM TableName;",
connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Label.Text=reader[0].ToString();
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();