我有一个表单和存储过程插入表单中的数据.它工作正常,除了如果一个字段未填写,它不会在sql中插入一个NULL插入“”.
我尝试了几种不同的方式,但是似乎没有插入NULL,下面的一个插入“”,任何人都可以指向正确的方向吗?
这是代码所需的部分,如果你需要更多的只是让我知道.
Dim rdr As sqlDataReader Dim cmdInsert As sqlCommand = New sqlCommand() cmdInsert.CommandText = "spPersonalDetailsInsert" cmdInsert.CommandType = CommandType.StoredProcedure cmdInsert.Connection = connsql Dim firstname,lastname,address,address1,town,county,postcode As sqlParameter 'convert to null if "" Dim frmFirstName As String If pd_first_name.Text = "" Then frmFirstName = Convert.dbnull Else frmFirstName = pd_first_name.Text End If firstname = New sqlParameter() firstname.ParameterName = "@firstname" firstname.sqlDbType = sqlDbType.NVarChar firstname.Size = 50 firstname.Direction = ParameterDirection.Input firstname.Value = frmFirstName
编辑
我测试了以下代码:
If pd_first_name.Text = "" Then frmFirstName = dbnull.Value Else frmFirstName = pd_first_name.Text End If
但是它仍然不会插入NULL,所以我测试了这个:
If pd_first_name.Text = "" Then Response.Write("NULL") address1.Value = dbnull.Value Else Response.Write("NOT NULL") address1.Value = pd_address1.Text End If
所以如果我没有输入到address1字段,它应该将NULL写入屏幕,但它始终写NOT NULL.一个空的表单字段是什么相等的?在经典的ASP它总是“”.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。