当您的一个或多个字段包含NULL(DBNull.Value)时,您将无法对其使用
GetString。
您需要使用IsDBNull方法检查它们是否为空,然后选择要在文本框中输入的值。通常是一个空字符串
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ string constring = "datasource=localhost;port=3306;username=root;password=root"; string Query = "SELECT * from database.check WHERe patientname IS NOT NULL"; using(MySqlConnection conDatabase = new MySqlConnection(constring)) using(MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase)) { try { conDatabase.Open(); using(MySqlDataReader myReader = cmdDatabase.ExecuteReader()) { int namePos = myReader.GetOrdinal("namethestore"); int checkerPos = myReader.GetOrdinal("checkername"); while (myReader.Read()) { string namethestore = myReader.IsDBNull(namePos) ? string.Empty : myReader.GetString("namethestore"); string checkername = myReader.IsDBNull(checkerPos) ? string.Empty : myReader.GetString("checkername"); this.textBox65.Text = namethestore; this.textBox66.Text = checkername; }} }}我建议也围绕一次性对象使用using语句。这样可以确保当您不再需要它们时,也可以进行适当的关闭和处理,以防万一。



