【问题标题】:ToString argument is wrongToString 参数错误
【发布时间】:2019-10-08 09:58:56
【问题描述】:

我想获得一些帮助:我无法将值从 SQL 数据库获取到 WPF 文本框。 我自己尝试了许多不起作用的代码,这个看起来不错但是“.ToString”参数是错误的

我应该换什么?

using (SqlConnection con = new SqlConnection(MyConnString))
            {
                SqlCommand sqlCmd = new SqlCommand("SELECT DATE_A FROM Donnees_Accueil", con);
                con.Open();
                SqlDataReader sqlReader = sqlCmd.ExecuteReader();

                while (sqlReader.Read())
                {
                    hourA.Text = sqlReader["Date_A"].ToString;
                }

                sqlReader.Close();
            }

提前谢谢你,
赞克鲁。

【问题讨论】:

  • 你想要.ToString(); 而不是.ToString;。这是一种方法,而不是字段/属性。
  • 您正在尝试访问.ToString;,就好像它是一个属性,而不是一个方法。最后加上括号使其成为.ToString();
  • 编译器不只是说“ToString 是错误的”。它给你一个非常具体的信息,你可以研究。

标签: c# sql wpf textbox tostring


【解决方案1】:

嗯,ToString() 是一个方法,而不是属性,这就是为什么() 是必需的;如果你想concat所有的记录:

using (SqlConnection con = new SqlConnection(MyConnString))
{
    con.Open(); 

    using (SqlCommand sqlCmd = new SqlCommand("SELECT DATE_A FROM Donnees_Accueil", con)) 
    {
        using (SqlDataReader sqlReader = sqlCmd.ExecuteReader())
        {
            StringBuilder sb = new StringBuilder();

            while (sqlReader.Read())
            {
                sb.Append(Convert.ToString(sqlReader["Date_A"])); 
            }  

            hourA.Text = sb.ToString(); 
        } 
    }
}

如果您只想获得第一条记录

using (SqlConnection con = new SqlConnection(MyConnString))
{
    con.Open(); 

    using (SqlCommand sqlCmd = new SqlCommand("SELECT DATE_A FROM Donnees_Accueil", con)) 
    {
        using (SqlDataReader sqlReader = sqlCmd.ExecuteReader())
        {
            if (sqlReader.Read())
                hourA.Text = Convert.ToString(sqlReader["Date_A"]);
            else  
                hourA.Text = "";
        } 
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多