Arhn - архитектура программирования

нулевое значение перед вставкой vb.net

На кнопке «преобразовать в конвейер» я вызвал метод вставки. но проблема, с которой я сталкиваюсь, заключается в том, что я нажимаю кнопку, не вводя данные в поля. Нулевые значения введены в БД. введите здесь описание изображения

как я могу применить условие для проверки нулевого значения перед вставкой в ​​​​таблицу в vb.net?

запрос на вставку, который я использую, выглядит следующим образом:

    Dim myquery As String = "Insert into Pipeline (BranchCode, CustomerName, Email, Phone, Mobile, Remarks, Converted, Converteddate, Company, CreatedBy, CreationDate) Values ('" + BranchCode + "',  '" + CustomerName + "',  '" + Email + "',  '" + Phone + "',  '" + Mobileno + "',  '" + Remarks + "',  '1',  GetDate(),  '" + Company + "', '" & User.Identity.Name & "',  GetDate())"
01.06.2017

  • Вы когда-нибудь пробовали валидацию? выполните быстрый поиск и примените некоторые проверки для ваших полей ввода. Более того, вы должны использовать параметризацию для предотвращения инъекции 01.06.2017
  • Попробуйте использовать параметры. Это безопасно для инъекций, и вы можете просмотреть свои параметры и проверить, является ли значение ничем, прежде чем выполнять запрос. 01.06.2017
  • я не могу применить групповую проверку, так как две кнопки работают с одними и теми же полями. Я могу ограничить только одну кнопку против полей. 01.06.2017
  • более того, я не применяю проверку ко всем полям, некоторые из моих текстовых полей являются бесплатными текстовыми полями. 01.06.2017

Ответы:


1

Вы можете сделать это по-разному,

  1. Выполните проверку для каждого элемента управления
  2. проверить в sql-запросе

<сильный>1. Проверка

    If String.IsNullOrEmpty(TextBox1.Text.ToString().Trim) Then 
        Databasevaluetoinsert = DBNull.Value
    Else
        Databasevaluetoinsert = TextBox1.Text           
    End If 

<сильный>2. В SQL-запросе

Используйте ISNULL (предполагается, что база данных на сервере MS SQL)

как ISNULL(Email, 'Values to be inserted') в запросе

ИЛИ вы используете Parameter коллекцию команд

cmd=new SqlCommand("insert into tableName values (@col1,@col2,@col3)",conn)
If TextBox1.Text.Trim().Length=0 Then
  cmd.Parameters.Add("@col1",SqlDbType.Varchar).Value=DBNull.Value
else
  cmd.Parameters.Add("@col1",SqlDbType.Varchar).Value=TextBox1.Text
End If

По моему мнению, проверка лучше всего иметь дело с нулевыми значениями.

01.06.2017
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..