如何解决处理空值显示和保存到 SQL
我编写了以下代码来访问我的数据库 (sql) 并将其中的值显示到我的 WinForm 上的文本框。但是,当读取的数据库值为空值时,我遇到了问题。我如何正确处理它,以便在按下触发以下代码的按钮时不会出现以下错误:
无法转换对象或键入“System.dbnNull”以键入“Sytem.String”
代码:
//Set stock number as the lookup
int stocknumber = int.Parse(tbStockNumber.Text);
//Database Connection
sqlConnection conn = new sqlConnection(myconnstrng);
sqlCommand command = new sqlCommand("SELECT * FROM Wholegoods_History WHERE Stock_Number = " + stocknumber + " ",conn);
try
{
conn.open();
sqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//Enter data into textBoxes
tbModel.Text = (string)reader["Model"];
cmbBrand.Text = (string)reader["Brand"];
tbDescription.Text = (string)reader["Description"];
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
我假设当文本框为空时我会以另一种方式遇到同样的问题,并且我尝试将记录保存到数据库或更新一个。
解决方法
其中一列为空。所以你必须像这样使用阅读器:
class SomeExport implements ... // what you need to implement
{
// some other code
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
$workSheet = $event->sheet->getDelegate();
$workSheet->freezePane('A2'); // freezing here
},];
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。