C# 在C中从查询中获取值到标签#

C# 在C中从查询中获取值到标签#,c#,sql,C#,Sql,如何将查询结果中的值转换为标签 我有两个标签,一个是labelName,另一个是labelDepartment 因此,当我运行查询时,如何从查询结果中获取值并使用c#将其分配给标签 这是我的Sql命令: "SELECT tbl_staff.staffName,tbl_department.department FROM tbl_staff,tbl_logs,tbl_department WHERE tbl_staff.userID = tbl_logs." + listS

如何将查询结果中的值转换为标签

我有两个标签,一个是labelName,另一个是labelDepartment

因此,当我运行查询时,如何从查询结果中获取值并使用c#将其分配给标签

这是我的Sql命令:

  "SELECT tbl_staff.staffName,tbl_department.department 
    FROM tbl_staff,tbl_logs,tbl_department 
    WHERE tbl_staff.userID = tbl_logs." + listStaff.SelectedValue + " and tbl_staff.idDepartment = tbl_department.idDepartment;"
这是C语言中的当前代码#

注意:我们的记录将只返回一行。。
MS SQL和C#。。谢谢你的帮助……;)

您可以使用
DataReader
类读取查询返回的行的内容。它具有获取单个值的方法,或者您可以对每一行进行迭代。告诉我您的查询返回了多少行,以便我提供准确的代码。

使用您的查询填充数据集,然后从数据集中检索值并将其分配给标签

假设您的数据集是DS,那么:

labelName.Text=DS.Tables[0]["tbl_staff.staffName"].tostring();
labelDepartment.Text=DS.Tables[0]["tbl_department.department"].tostring();

希望这有帮助。

您需要通过SQLDataReader读取结果

SQLCommand command = new SQLCommand("your sql string here");
SQLDataReader reader = command.executeReader();
while(reader.read())
{
 set your label values here with reader["cloumn"]
}
然后,可以轻松地将department和listStaff应用于标签文本,如:


DepartmentLabel.Text=部门

检查此代码-同时设置连接字符串和此代码

SQLCommand command = new SQLCommand();
command.CommandText = " SELECT tbl_staff.staffName,tbl_department.department 
    FROM tbl_staff,tbl_logs,tbl_department 
    WHERE tbl_staff.userID = tbl_logs." + listStaff.SelectedValue + " and tbl_staff.idDepartment = tbl_department.idDepartment ";

SQLDataReader reader = command.executeReader();

while(reader.read())
{
 labelName.Text = reader.GetString(0);
 labelDepartment.Text = reader.GetString(1);
}
一种方法是:

private void getData()
{
    DataTable dt = new DataTable();
    SqlConnection connection = new SqlConnection("YOUR CONNECTION STRING HERE");
    connection.Open();
    SqlCommand sqlCmd = new SqlCommand(" SELECT tbl_staff.staffName,tbl_department.department 
FROM tbl_staff,tbl_logs,tbl_department 
WHERE tbl_staff.userID = tbl_logs." + listStaff.SelectedValue + " and tbl_staff.idDepartment = tbl_department.idDepartment", connection);
    SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

    sqlCmd.Parameters.AddWithValue("@username",user);
    sqlDa.Fill(dt);
    if (dt.Rows.Count > 0)
    {
           lable.Text = dt.Rows[0]["staffName"].ToString(); //Where "staffName" is ColumnName 

    }
        connection.Close();
}
建议使用不在线查询的存储过程以避免SQL注入攻击

“转换类型”是您在代码中留下的内容….

请尝试仅更改此项

SqlConnection openCon = new SqlConnection(connString);
openCon.Open();

string SQL = string.Format("SELECT tbl_staff.staffName,tbl_department.department FROM tbl_staff,tbl_logs,tbl_department WHERE tbl_staff.userID = tbl_logs.userID and tbl_staff.idDepartment = tbl_department.idDepartment" + listStaff.SelectedValue + ";");


SqlCommand command = new SqlCommand(SQL);
SqlDataReader reader = command.ExecuteReader();

while(reader.Read())
{
    labelName.Text = reader["tbl_staff.staffName"].toString();
    labelDepartment.Text = reader["tbl_department.department"].toString();
}`

也许您可以尝试在代码中显示您真正想要实现的目标。您是否设法从SQL查询中获得结果?另外,请分享您的C#代码。您好@Tomas,谢谢您的帮助。。作为你的参考,我不太懂用c语言写代码。。我可以使用dataReader解决这个问题吗?你好@Arkain,谢谢你的回复。我还是C#的新手,你能解释一下ADO.Net、LINQ和实体框架的功能吗?谢谢你的帮助…:)你好@ssilas777,好的,我将分享。。。再次感谢……;)“这是同一个问题吗?”弗兰切斯科巴鲁切利,实际上是一样的。。呵呵…你用什么做后台MSACCESS或SQL?对不起。。Im使用MS SQL 2008…)顺便说一下,我先试试。我会再问你一次的。。谢谢你的帮助……;)这样地?labelName.Text=[“tbl_staff.staffName”]+我想写下确切的代码。但因为我不知道查询必须返回多少行,所以我没有发布。因为如果是几行,那么应该使用哪一行来获取列值。另一方面,如果只有一个值,则可以使用ExecuteScalar方法。@seeker。查询结果仅返回一行。。呵呵。。。谢谢你的帮助,我的朋友…:)@chuki2像这样:
labelName.Text=reader[“tbl_staff.staffName”]谢谢你的帮助。。我先试试……谢谢你的帮助。。。我先试试……)回答得很好Gregor它帮了我的忙。。。我先试试……)
private void getData()
{
    DataTable dt = new DataTable();
    SqlConnection connection = new SqlConnection("YOUR CONNECTION STRING HERE");
    connection.Open();
    SqlCommand sqlCmd = new SqlCommand(" SELECT tbl_staff.staffName,tbl_department.department 
FROM tbl_staff,tbl_logs,tbl_department 
WHERE tbl_staff.userID = tbl_logs." + listStaff.SelectedValue + " and tbl_staff.idDepartment = tbl_department.idDepartment", connection);
    SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

    sqlCmd.Parameters.AddWithValue("@username",user);
    sqlDa.Fill(dt);
    if (dt.Rows.Count > 0)
    {
           lable.Text = dt.Rows[0]["staffName"].ToString(); //Where "staffName" is ColumnName 

    }
        connection.Close();
}
//Open SQL connection

SqlConnection openCon = new SqlConnection(connString);
openCon.Open();

string SQL = string.Format("SELECT tbl_staff.staffName,tbl_department.department FROM tbl_staff,tbl_logs,tbl_department WHERE tbl_staff.userID = tbl_logs.userID and tbl_staff.idDepartment = tbl_department.idDepartment" + listStaff.SelectedValue + ";");


SqlCommand command = new SqlCommand(SQL);
SqlDataReader reader = command.ExecuteReader();

while(reader.Read())
{
    labelName.Text = reader["tbl_staff.staffName"].ToString();
    labelDepartment.Text = reader["tbl_department.department"].ToString();
}
SqlConnection openCon = new SqlConnection(connString);
openCon.Open();

string SQL = string.Format("SELECT tbl_staff.staffName,tbl_department.department FROM tbl_staff,tbl_logs,tbl_department WHERE tbl_staff.userID = tbl_logs.userID and tbl_staff.idDepartment = tbl_department.idDepartment" + listStaff.SelectedValue + ";");


SqlCommand command = new SqlCommand(SQL);
SqlDataReader reader = command.ExecuteReader();

while(reader.Read())
{
    labelName.Text = reader["tbl_staff.staffName"].toString();
    labelDepartment.Text = reader["tbl_department.department"].toString();
}`