c# - 无法将列名称放入GetString

标签 c# sql sqlcommand getstring

我有以下代码:

public void chyt_data()
    {
        try
        {


            SqlCommand novyprikaz = new SqlCommand("SELECT * FROM zajezd WHERE akce=" + currentrowstring, spojeni);
            spojeni.Open();
            SqlDataReader precti = novyprikaz.ExecuteReader();

            if (precti.Read())
            {

                zakce.Text = precti.GetString(0);
                zname.Text = precti.GetString(2);

         }

     }
     catch (Exception ex)
     {
         MessageBox.Show("Chybové hlášení2: " + ex.Message.ToString());
     }

     spojeni.Close();
   }


如果我在其中插入列名,则如下所示:

    zakce.Text = precti.GetString("akce"); 


这是行不通的。

有人可以帮我解决这个问题吗?
非常感谢

它给出了两个错误:

1:错误1'System.Data.Common.DbDataReader.GetString(int)'的最佳重载方法匹配具有一些无效的参数

2:错误2参数1:无法从“字符串”转换为“ int”

最佳答案

您需要GetOrdinal函数

zakce.Text = precti.GetString(precti.GetOrdinal("akce"));
zname.Text = precti.GetString(precti.GetOrdinal("name"));

关于c# - 无法将列名称放入GetString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569729/

相关文章:

c# - SqlCommand 不能删除触发器

c# - ASP.NET Core禁用json补丁

c# - 使用原始套接字流式传输视频

sql - 相当于 ON CONFLICT DO NOTHING for UPDATE postgres

c# - 哪种模式更适合 SqlConnection 对象?

asp.net - 用于连接到 SQL Server 并以 JSON 格式返回响应的 Web API

c# - 短路运算符

c# - 单击 Enter 时 WPF RichTextBox 放置 2 行而不是 1 行

php - 带有 PHP 代码的未定义索引

MySQL - 关于重复键 - CASE WHEN THEN ELSE 不起作用