我的情景,
我正在使用asp.net vb应用程序 我有一组值要插入到Database.But它们的一些字段是可选的填充
我需要检查textbox empty.if empty我不应该输入数据库的值。如何处理这个
答案 0 :(得分:3)
使用Parameter
的{{1}}集合。 (我假设你有一个MsSql数据库)。
Command
答案 1 :(得分:1)
如果使用存储过程添加到数据库,则只需将null传递给该参数即可。它必须是一个可以为null的变量类型,就像字符串一样。
答案 2 :(得分:1)
你可以像这样检查
If String.IsNullOrEmpty(TextBox1.Text.ToString().Trim) Then
Databasevaluetoinsert = DBNull.Value
Else
Databasevaluetoinsert = TextBox1.Text
End If
答案 3 :(得分:0)
我通常使用ConvertEmptyStringToNull
作为可选值。
http://www.google.com/search?q=convertemptystringtonull+asp.net
前几个链接提供了一些示例,MSDN显示了它在VB中的完成情况
答案 4 :(得分:0)
以下是我在代码中处理此问题的示例。这很长,因为我想检查数据库中可以为空的每个字段。
Dim query As String = String.Empty query& =“INSERT INTO CHANGELOG(ChangeLogId,LogType,ReleaseType,ReferenceType,ChangeType,Area,Description,Notes,Date,MajorVersion,MinorVersion,RevisionVersion,BuildVersion)” query& =“VALUES”& “(NEWID(),”&“@ LogType,@ ReleaseType,@ ReferenceType,@ ChangeType,@ Area,@ Description,@ Notes,@ Date,@ MajorVersion,@ MinVersion,@ RevisionVersion,@ BuildVersion);” 使用conn As New SqlConnection(“server = JSEN-PC \ SQLEXPRESS; Database = myDB; Persist Security Info = False; Integrated Security = True;”) 使用comm As New SqlCommand() 与comm .Connection = conn .CommandType = CommandType.Text .CommandText = query
If LogTypeComboBox.SelectedIndex = -1 Then 'Log Type: Accept Convert dbNull
.Parameters.AddWithValue("@LogType", SqlDbType.NVarChar).Value = DBNull.Value
Else
.Parameters.AddWithValue("@LogType", LogTypeComboBox.SelectedItem)
End If
If ReleaseComboBox.SelectedIndex = -1 Then 'Release Type: Accept Convert dbNull
.Parameters.AddWithValue("@ReleaseType", SqlDbType.NVarChar).Value = DBNull.Value
Else
.Parameters.AddWithValue("@ReleaseType", ReleaseComboBox.SelectedItem)
End If
If ReferenceComboBox.SelectedIndex = -1 Then 'Reference Type: Accept Convert dbNull
.Parameters.AddWithValue("@ReferenceType", SqlDbType.NVarChar).Value = DBNull.Value
Else
.Parameters.AddWithValue("@ReferenceType", ReferenceComboBox.SelectedItem)
End If
If ChangeComboBox.SelectedIndex = -1 Then 'Change Type: Accept Convert dbNull
.Parameters.AddWithValue("@ChangeType", SqlDbType.NVarChar).Value = DBNull.Value
Else
.Parameters.AddWithValue("@ChangeType", ChangeComboBox.SelectedItem)
End If
If FunctionalAreaComboBox.SelectedIndex = -1 Then 'Functional Area: Accept Convert dbNull
.Parameters.AddWithValue("@Area", SqlDbType.NVarChar).Value = DBNull.Value
Else
.Parameters.AddWithValue("@Area", FunctionalAreaComboBox.SelectedItem)
End If
If DescriptionTextBox.Text.Length = 0 Then 'Description: Accept Convert dbNull
.Parameters.AddWithValue("@Description", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@Description", DescriptionTextBox.Text)
End If
If NotesTextBox.Text.Length = 0 Then 'Notes: Accept Convert dbNull
.Parameters.AddWithValue("@Notes", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@Notes", NotesTextBox.Text)
End If
.Parameters.AddWithValue("@Date", DateDateTimePicker.Value.Date.ToString("yyyy-MM-dd")) 'Date: No Null conversion
If MajorVersionTextBox.Text.Length = 0 Then 'MajorVersion: Accept Convert dbNull
.Parameters.AddWithValue("@MajorVersion", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@MajorVersion", MajorVersionTextBox.Text)
End If
If MinorVersionTextBox.Text.Length = 0 Then 'MinorVersion: Accept Convert dbNull
.Parameters.AddWithValue("@MinorVersion", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@MinorVersion", MinorVersionTextBox.Text)
End If
If RevisionVersionTextBox.Text.Length = 0 Then 'RevisionVersion: Accept Convert dbNull
.Parameters.AddWithValue("@RevisionVersion", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@RevisionVersion", RevisionVersionTextBox.Text)
End If
If BuildVersionTextBox.Text.Length = 0 Then 'BuildVersion: Accept Convert dbNull
.Parameters.AddWithValue("@BuildVersion", SqlDbType.Text).Value = DBNull.Value
Else
.Parameters.AddWithValue("@BuildVersion", BuildVersionTextBox.Text)
End If
End With
Try
conn.Open()
comm.ExecuteNonQuery()
Catch ex As SqlException
MessageBox.Show(ex.Message.ToString(), "Error Message")
End Try
End Using
结束使用