项目-在本地数据库中添加删除,编辑和搜索。 除了搜索之外,一切都完美无缺。
所有文件名都是一样的,只是感到困惑。对C#一无所知,所以可能真的很愚蠢。
任何帮助将不胜感激。
错误
无法将'string'转换为'int'
显示在注释行。
private void button4Search_Click(object sender, EventArgs e)
{
SqlDataReader mdr;
string select = "SELECT * FROM users WHERE id = " + textBoxID.Text;
command = new SqlCommand(select, connection);
openConnection();
mdr = command.ExecuteReader();
if (mdr.Read())
{
// ERRORS HERE
textBoxFileName.Text = mdr.GetString("FileName");
textBoxFilePath.Text = mdr.GetString("FilePAth");
textBoxMediaFileType.Text = mdr.GetString("MediaFileType");
textBoxComments.Text = mdr.GetString("Comments");
}
else
{
MessageBox.Show("User Not Found");
}
closeConnection();
}
答案 0 :(得分:3)
首先有两个重要提示:
SELECT *
,但要明确说明要返回的列。这样可以避免不必要的流量,并且可以确保按期望的顺序获取列。对您的问题:
GetString()
以索引作为参数。不是列名。您可以使用GetOrdinal()
通过名称获取列的索引:
textBoxFileName.Text = mdr.GetString(mdr.GetOrdinal("FileName"));
答案 1 :(得分:0)
首先,请在问题中提供此处的代码。 试试:
mdr.GetValue(read.GetOrdinal("de_DE")).ToString();
答案 2 :(得分:0)
更正代码:
mder = command.ExecuteReader();
进入:
mdr= command.ExecuteReader();
并编辑以下内容: textBoxFileName.Text = mdr.GetString(mdr.GetOrdinal(“ FileName”));; 同样,所有文本框