无法将列名放入GetString

Mar*_*rek 1 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();
   }
Run Code Online (Sandbox Code Playgroud)

如果我在其中插入列名称,它是这样的:

    zakce.Text = precti.GetString("akce"); 
Run Code Online (Sandbox Code Playgroud)

它不会起作用.

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

它给出了两个错误:

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

2:错误2参数1:无法从'string'转换为'int'

Bob*_*ale 6

您需要GetOrdinal函数

zakce.Text = precti.GetString(precti.GetOrdinal("akce"));
zname.Text = precti.GetString(precti.GetOrdinal("name"));
Run Code Online (Sandbox Code Playgroud)