您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

数据为空。不能在空值上调用此方法或属性。(使用组合框)

数据为空。不能在空值上调用此方法或属性。(使用组合框)

当您的一个或多个字段包含NULL(DBNull.Value)时,您将无法对其使用GetString。 您需要使用IsDBNull方法检查它们是否为空,然后选择要在文本框中输入的值。通常是一个空字符串

private void combo@R_768_2419@1_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.text@R_768_2419@65.Text = namethestore;
                    this.text@R_768_2419@66.Text = checkername;
                }
           }
      }
}

我建议也围绕一次性对象使用using语句。这样可以确保当您不再需要它们时,也可以进行适当的关闭和处理,以防万一。

其他 2022/1/1 18:19:35 有463人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶