sfr*_*frj 29 c# sql asp.net ado.net
我需要执行以下命令并将结果传递给标签.我不知道怎么能用Reader做到这一点.有人可以帮个忙吗?
String sql = "SELECT * FROM learer WHERE learer.id = " + index;
SqlCommand cmd = new SqlCommand(sql,conn);
learerLabel.Text = (String) cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我创建了SQL语句并执行它,但它不起作用.为什么?
控制台说:
不能隐式SqlDataReader到String ...
如何以String形式获得所需的结果,以便标签可以正确显示.
Dar*_*rov 46
using (var conn = new SqlConnection(SomeConnectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "SELECT * FROM learer WHERE id = @id";
cmd.Parameters.AddWithValue("@id", index);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
learerLabel.Text = reader.GetString(reader.GetOrdinal("somecolumn"))
}
}
}
Run Code Online (Sandbox Code Playgroud)
Akr*_*hda 27
建议不要使用DataReader和从数据库中Command.ExecuteReader获取一个值.相反,您应该使用Command.ExecuteScalar如下:
String sql = "SELECT ColumnNumber FROM learer WHERE learer.id = " + index;
SqlCommand cmd = new SqlCommand(sql,conn);
learerLabel.Text = (String) cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
以下是有关连接数据库和管理数据的更多信息.
| 归档时间: |
|
| 查看次数: |
113904 次 |
| 最近记录: |