当记录确实存在时,无法将类型 'System.DBNull' 的对象转换为类型 'System.Byte[]'
Unable to cast object of type 'System.DBNull' to type 'System.Byte[]' when record does exist
我正在尝试从 MYSQL 读取和下载 BLOB。即使记录存在,但我仍然不断收到此错误。以下是我的代码:
this.Time = String.Format("{0:HH:mm:ss}", DropDownList1.SelectedValue);
String query = "Select * from event where time='" + this.Time + "'";
MySqlConnection conn = new MySqlConnection(connection);
MySqlCommand cmd = new MySqlCommand(query, conn);
String time = String.Format("{0:t}", DateTime.Today);
conn.Open();
MySqlDataReader r = cmd.ExecuteReader();
while (r.Read())
{
TextBox1.Text = r["name"].ToString();
TextBox2.Text = r["Proposedby"].ToString();
bytes = (byte[])r["proposalDoc"];
TextBox5.Text = Calendar1.SelectedDate.ToString("d");
TextBox6.Text = r["time"].ToString();
TextBox7.Text = r["Society"].ToString();
TextBox8.Text = r["venue"].ToString();
}
请告诉我如何消除这个错误。
可能是记录存在,但错误告诉您 proposalDoc
是 db null。所以解决办法是像这样检查它是否为 db null:
if(!Convert.IsDBNull(r["proposalDoc"]))
{
bytes = (byte[])r["proposalDoc"];
}
!string.IsNullOrEmpty(r["proposalDoc"].ToString())?(byte[])r["proposalDoc"] : null
我正在尝试从 MYSQL 读取和下载 BLOB。即使记录存在,但我仍然不断收到此错误。以下是我的代码:
this.Time = String.Format("{0:HH:mm:ss}", DropDownList1.SelectedValue);
String query = "Select * from event where time='" + this.Time + "'";
MySqlConnection conn = new MySqlConnection(connection);
MySqlCommand cmd = new MySqlCommand(query, conn);
String time = String.Format("{0:t}", DateTime.Today);
conn.Open();
MySqlDataReader r = cmd.ExecuteReader();
while (r.Read())
{
TextBox1.Text = r["name"].ToString();
TextBox2.Text = r["Proposedby"].ToString();
bytes = (byte[])r["proposalDoc"];
TextBox5.Text = Calendar1.SelectedDate.ToString("d");
TextBox6.Text = r["time"].ToString();
TextBox7.Text = r["Society"].ToString();
TextBox8.Text = r["venue"].ToString();
}
请告诉我如何消除这个错误。
可能是记录存在,但错误告诉您 proposalDoc
是 db null。所以解决办法是像这样检查它是否为 db null:
if(!Convert.IsDBNull(r["proposalDoc"]))
{
bytes = (byte[])r["proposalDoc"];
}
!string.IsNullOrEmpty(r["proposalDoc"].ToString())?(byte[])r["proposalDoc"] : null