【问题标题】:Method name expected C# SQL Server visual studio 2019 [duplicate]方法名称预期 C# SQL Server Visual Studio 2019 [重复]
【发布时间】:2020-12-05 17:33:29
【问题描述】:

我正在尝试从数据源读取数据,但在 ExecuteReader 方法中出现此错误, 当我尝试在某个标签中显示结果时。

我在idlabel.Text = myraeder("id"); myreader varibale 下收到错误

private void Searchbtn_Click(object sender, EventArgs e)
{
   SqlConnection con = new SqlConnection(dataConnectin);
   con.Open();

   string searchsql = "SELECT * from Table WHERE Name=" + searchtxt.Text + "";
   SqlCommand cmd = new SqlCommand(searchsql, con);

   SqlDataReader myraeder;
   myraeder = cmd.ExecuteReader();
   myraeder.Read();

   idlabel.Text = myraeder("id");
}

【问题讨论】:

  • 你得到什么错误?
  • 使用这个myraeder["id"].ToString();
  • 注意这里的sql注入可能性。

标签: c# sql visual-studio


【解决方案1】:

有很多明显的错误。让我向您展示一种编写代码的更好方法。跟我来!

  • 为变量提供正确的名称和大小写。
  • 使用异步。
  • 在 sql 查询中使用参数。
  • 通过将资源包装在 using 中来释放资源。
  • 在 sql 中用括号将名称括起来。
private async void SearchButton_Click(object sender, EventArgs e)
{
    using (var connection = new SqlConnection(connectionString))
    {
        await connection.OpenAsync();

        string searchSql = "SELECT * from [Table] WHERE [Name]=@name";

        using (var command = new SqlCommand(searchSql, connection))
        {
            command.Parameters.Add("name", SqlDbType.NVarChar).Value = searchTextBox.Text;

            using (var reader = await command.ExecuteReaderAsync())
            {
                while (await reader.ReadAsync())
                {
                    idLabel.Text = reader["id"].ToString();
                }
            }
        }
    }
}

【讨论】:

    【解决方案2】:
    1. 使用方括号代替圆括号。
    2. 将字段转换为字符串。
        idlabel.Text = myraeder["id"].ToString();
    

    【讨论】:

      【解决方案3】:

      这样读取数据:

      idlabel.Text = myraeder["id"].ToString();
      con.Close();
      

      并且在获得所需数据后不要忘记关闭连接。

      【讨论】:

      • 它是否对您有效并且您的问题已解决?
      猜你喜欢
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多