gpt4 book ai didi

c# - 从 ASP.NET 中的 SQL 数据库输出一条记录的一个字段

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:07 24 4
gpt4 key购买 nike

我需要从数据库中读取一个 记录(由 url 的查询字符串确定),并从中获取一个 字段(“成本”)。目前在我的数据源中的 SQL 只是:

SELECT [Cost] from [Cars] WHERE ([RegistrationNumber] = @RegistrationNumber)

...然后@RegistrationNumber 被定义为来自 QueryString。

我仍在学习 ASP.NET,所以很可能(我希望)有一种非常简单的方法可以做到这一点。我可以使用 ListView 或其他东西,但我认为仅对一条数据来说有点矫枉过正。

此外,如果有不同的话,我正在使用 C# 工作。

最佳答案

假设您使用SqlCommand 对象来执行您的sql,您可以使用 ExecuteScalar() 方法,它将返回命令返回的第一行中的第一个值。

我链接的文档页面上有一个示例,但为了简洁起见,我将其包含在此处:

using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@RegistrationNumber", SqlDbType.VarChar);
cmd.Parameters["@RegistrationNumber"].Value = ** your variable here**;
try
{
conn.Open();
double cost = (double)cmd.ExecuteScalar();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

这是运行 SQL 的“原始”方法。由于您使用的是 SqlDataSource,这就是它在幕后所做的事情,除了它没有使用 ExecuteScalar() - 它只是获取所有数据。您可以使用类似于以下的代码挑选出各个字段:

protected void Page_Load(object sender, EventArgs e)
{

DataView dv= (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView dr in dv)
{
Label1.Text = dr["Cost"].ToString();
}
}

这会将字段值分配给 Label1。如果您不想编写任何代码,将它绑定(bind)到一个简单的 Repeater 控件可能会更容易。

关于c# - 从 ASP.NET 中的 SQL 数据库输出一条记录的一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com