我有以下代码:
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/