在c#中以标签显示数据
本文关键字:显示 数据 标签 | 更新日期: 2023-09-27 17:54:20
我有一个问题。如何显示数据从数据库在标签在WinForm?
private void button1_Click(object sender, EventArgs e)
{
string connectionString = @"Data Source=.'SQLEXPRESS; AttachDbFilename=C:'Users'John'Documents'Visual Studio 2010'Projects'Shop'Shop'shop.mdf; Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection myDbconnection = new SqlConnection(connectionString);
myDbconnection.Open();
sqlQRY = "Select prix from fleurs where nom='"+flori.SelectedValue+"'";
SqlCommand cmd = new SqlCommand(sqlQRY, myDbconnection);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
if (reader.HasRows)
{
label6.Text = 'prix'.ToString();
}
else
{
MessageBox.Show("Error");
}
}
我需要在label6.Text
中显示"prix"
除非你没有得到任何其他错误。这应该足够了
if (reader.HasRows)
{
label6.Text = "prix";
}
如果你想从数据库中读取它而prix是数据库中的列名那么你可以像这样读取
label6.Text = reader["prix"].ToString();
试试这个。label6.Text = reader["prix"].ToString();
我在这里做了很多假设。
其中之一,是否有一行返回(因为您有一个标签)
你应该使用ExecuteScalar
不建议使用DataReader和Command。ExecuteReader从数据库中获取一个值
private void button1_Click(object sender, EventArgs e)
{
string connectionString = @"Data Source=.'SQLEXPRESS; AttachDbFilename=C:'Users'John'Documents'Visual Studio 2010'Projects'Shop'Shop'shop.mdf; Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection myDbconnection = new SqlConnection(connectionString);
myDbconnection.Open();
sqlQRY = "Select prix from fleurs where nom='"+flori.SelectedValue+"'";
SqlCommand cmd = new SqlCommand(sqlQRY, myDbconnection);
var value = (String)cmd.ExecuteScalar();
if (!string.IsNullOrEmpty(value))
{
label6.Text = value;
}
else
{
MessageBox.Show("Error");
}
}
您在代码中犯了语法错误: 撇号 '用于characters
,而不是字符串,例如
Char myChar = 'a';
如果你只想打印"prix",你应该使用引号,例如
if (reader.HasRows)
{
label6.Text = "prix"; // not label6.Text = 'prix'.ToString();
...
方法ToString()
是过量在你的情况下:"prix"
是一个字符串。
如果你想读取数据库字段名称为"prix"
,你应该把它放在
if (reader.HasRows)
{
label6.Text = reader["prix"].toString(); // <- "prix" can't be null
...
我们可以使用这个语句
label6.Text = "prix";