我是C#的新手。

我有写功能来过滤部门。并且此函数将返回idDepartment。

新问题是,部门保留值“ System.Windows.Forms.Label,文本:ADMIN”,这就是为什么我得到零的原因。那么,我该如何只接受“管理员”并留在系内?

更新:

    public partial class frmEditStaff : Form
{

    private string connString;
    private string userId, department;  //Department parameter coming from here
    private string conString = "Datasource";


    public frmEditStaff(string strUserID, string strPosition)
    {
        InitializeComponent();

        //Pass value from frmListStaff to userID text box

        tbStaffId.Text = strUserID.ToString();
        userId = strUserID.ToString();
        department = strPosition.ToString();


    }


下面的代码可以正常工作,没有任何问题。

public int lookUpDepart()
        {
            int idDepart=0;

            using (SqlConnection openCon = new SqlConnection(conString))
            {
                string lookUpDepartmenId = "SELECT idDepartment FROM tbl_department WHERE department = '" + department + "';";
                openCon.Open();
                using (SqlCommand querylookUpDepartmenId = new SqlCommand(lookUpDepartmenId, openCon))
                {
                    SqlDataReader read = querylookUpDepartmenId.ExecuteReader();

                    while (read.Read())
                    {
                        idDepart = int.Parse(read[0].ToString());
                        break;
                    }
                }
                openCon.Close();
                return idDepart;
            }


        }


感谢帮助。祝您有美好的一天!

最佳答案

关于您的问题:部门保留值“ System.Windows.Forms.Label,文本:ADMIN”

您在此呼叫中遇到问题frmEditStaff(strUserID,yourLabel.ToString());

尽管您尚未共享对此函数/构造函数的调用,但是似乎您的第二个参数在此调用中出错。请勿在此处使用ToString()。而是必须使用.Text作为

frmEditStaff(strUserID,yourLabel.Text);

那将解决您的问题。我知道这是因为通常程序员都有犯此错误的经验:)

10-02 18:16