首页 > 解决方案 > 该方法接受一个字符串,并且必须返回一个列表或树

问题描述

我创建一个方法并向其添加一个参数以插入到查询中。调用此方法时,我应该构建一棵树

错误参数 1:无法从 'CodersLab.Windows.Controls.TreeView' 转换为 'string'

public List<StatusInfo> GetHTInfoTable(string o)
{

    TreeNode tree = new TreeNode();
    //tree.BeginUpdate();
    //tree.Nodes.Clear();
    List<StatusInfo> result = new List<StatusInfo>();


    using (SqlCommand comm = new SqlCommand(@"select a.wro, b.name, a.status from [HT].[dbo].[tat] a, [HT].[dbo].[HT] b where b.id = a.id_table and [o]='{o}'", Connect))
    {

        // Проходим ридером
        using (SqlDataReader reader = comm.ExecuteReader())
        {
            if (!reader.HasRows) return result;

            var Status = new TreeNode("+++");

            while (reader.Read())
            {
                var HT = new StatusInfo();
                HT.O = Convert.ToString(reader.GetValue(0));
                HT.US = Convert.ToString(reader.GetValue(2));
                HT.T= reader.GetString(1);
                TreeNode statusTree = new TreeNode();
                statusTree.Nodes.Add(HT.US);
                Status.Nodes.Add(statusTree);
                TreeNode tableTree = new TreeNode();
                tableTree.Nodes.Add(HT.Table);
                statusTree.Nodes.Add(tableTree);

            tree.Nodes.Add(Status);

        }

    }

    return result;
}

private void RefreshTV(O o)
{
    StatusTree.BeginUpdate();
    StatusTree.SelectedNodes.Clear();
    StatusTree.Nodes.Clear();

    List<StatusInfo> ht = new List<StatusInfo>();

    try
    {
        MSSDB = new MSSqlDB(Settings.MSSQL_Address, Settings.MSSQL_DBName, Settings.MSSQL_Login, Settings.MSSQL_Password);
        MSSDB.Open();
        ht = MSSDB.GetHTInfoTable(StatusTree);

    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        Application.Exit();
    }

    StatusTree.EndUpdate();
}

标签: c#sqlsql-server

解决方案


推荐阅读