Как передать NULL в БД

  • Автор темы Автор темы id0777
  • Дата начала Дата начала

id0777

Client
Регистрация
22.09.2019
Сообщения
30
Реакции
5
Баллы
8
Всем здрасте )
Вот сижу и никак не могу понять как через переменные в кубике "Запрос к базе данных" передать значение NULL т.е. чтобы если в значении переменной Variable null то он передался бы в переменную @var = {-Variable.-} буду благодарен за помощь.
 
INSERT INTO имя_таблицы SET имя_столбца=NULL;
'Nullable' столбца должен быть 'YES'
 

Вложения

  • 333.png
    333.png
    8,4 KB · Просмотры: 23
  • 4444.png
    4444.png
    10,7 KB · Просмотры: 29
  • 5555.png
    5555.png
    6,1 KB · Просмотры: 25
Это понятно) но мне хочется передать null в переменной. Пример в проекте есть переменная var1 обычно это число но иногда это слово null так вот в кубике бд я пишу запрос типа insert from table (id,num) value (NULL, @num) и ниже в кубике присваиваю num {-variable.var1-} так вот пока var1 число то все норм а когда слово null он так и передаёт строку null а мне бы именно null передать, может быть можно писать условие в теле запроса или ещё какие варианты я бы хотел сделать все в 1 кубике т.к бывает много переменных
 
Это понятно) но мне хочется передать null в переменной. Пример в проекте есть переменная var1 обычно это число но иногда это слово null так вот в кубике бд я пишу запрос типа insert from table (id,num) value (NULL, @num) и ниже в кубике присваиваю num {-variable.var1-} так вот пока var1 число то все норм а когда слово null он так и передаёт строку null а мне бы именно null передать, может быть можно писать условие в теле запроса или ещё какие варианты я бы хотел сделать все в 1 кубике т.к бывает много переменных

string test = string.Empty;
if(project.Variables["value"].Value != "NULL"){
test = project.Variables["value"].Value;
}
db.query("INSERT INTO `gmail` (`id`, `login`) VALUES(NULL, '"+test+"')");

Если я вас правильно понял.
 
string test = string.Empty;
if(project.Variables["value"].Value != "NULL"){
test = project.Variables["value"].Value;
}
db.query("INSERT INTO `gmail` (`id`, `login`) VALUES(NULL, '"+test+"')");

Если я вас правильно понял.
Этот код нужно писать в отдельном кубике "Свой C# код" я правильно понимаю ?
Я тут накидал небольшой проект может кто поможет )
Так вот вариант с двумя кубиками "запрос к бд" не подходит нужно чтобы кубик был 1.
 

Вложения

  • 1.jpg
    1.jpg
    195,7 KB · Просмотры: 7
  • 2.jpg
    2.jpg
    233,8 KB · Просмотры: 6
  • 3.jpg
    3.jpg
    196,1 KB · Просмотры: 3
  • null.zp
    null.zp
    14,3 KB · Просмотры: 3
Этот код нужно писать в отдельном кубике "Свой C# код" я правильно понимаю ?
Я тут накидал небольшой проект может кто поможет )
Так вот вариант с двумя кубиками "запрос к бд" не подходит нужно чтобы кубик был 1.
Так всё что вы там написали можно сделать 1 кубиком, там делов на 10 минут
 
Этот код нужно писать в отдельном кубике "Свой C# код" я правильно понимаю ?
Я тут накидал небольшой проект может кто поможет )
Так вот вариант с двумя кубиками "запрос к бд" не подходит нужно чтобы кубик был 1.
Random rnd = new Random();
int val = rnd.Next(2);
string num = string.Empty;
if(val == 0) num = val.ToString();

ZennoPoster.Db.ExecuteQuery("INSERT INTO `test_null`(`id`, `num`) VALUES (NULL,'"+num+"')", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;persistsecurityinfo=True;database=test", " ", "\r\n");
 
Не посмотрел, что вы там генерируете.
Вот так как у вас в кубиках
Random rnd = new Random();
int val = rnd.Next(4);
string num = string.Empty;
if(val != 1) num = "1";
ZennoPoster.Db.ExecuteQuery("INSERT INTO `test_null`(`id`, `num`) VALUES (NULL,'"+num+"')", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;persistsecurityinfo=True;database=test", " ", "\r\n");
 
т.е сделать все в кубике "Запрос к базе данных" возможности нет , нужно все делать отдельно в c#
 
т.е сделать все в кубике "Запрос к базе данных" возможности нет , нужно все делать отдельно в c#
Я же вам написал, ваш рандом и запрос к бд, в одном кубике.
Вам что ещё нужно?
 
Ну как минимум понять что это такое я не силен в c#, можете добавить комментарии к коду , я попробовал его сейчас в зенке циклом 50 раз записывает в столбец num только цифру 1.
Просьба опишите код что к чему будем разбираться , спасибо.
 
Ну как минимум понять что это такое я не силен в c#, можете добавить комментарии к коду , я попробовал его сейчас в зенке циклом 50 раз записывает в столбец num только цифру 1.
Просьба опишите код что к чему будем разбираться , спасибо.
Сомневаюсь конечно , что из 50 все 1
 

Вложения

  • null.zp
    null.zp
    10,3 KB · Просмотры: 5
Так а где тут передача NULL ?
 
смотрите рандом по сути мне не нужен был я его написал чтобы задать разные состояния у переменной:
Состояние 1 : цифра
Состояние 2 : NULL (строка)
вот и нужно чтобы в бд передалось NULL а не (строка NULL)
 
Если вам принципиально нужен null, то вам выше уже писали ответ, если же нужна пустая строка в бд, то я вам тоже дал ответ.
Поэтому, думаю, что на все ваши вопросы дали исчерпывающие ответы.
 
То ли я дурак то ли лыжи не едут ) Нет ответа на мой вопрос ...
 
Повторюсь есть переменная var и два состояния
Состояние 1 : цифра (0,1,2,3...)
Состояние 2 : NULL (строка)
и есть запрос в бд INSERT INTO , как в запрос передать NULL (не строку а NULL)
 
Если вам принципиально нужен null, то вам выше уже писали ответ, если же нужна пустая строка в бд, то я вам тоже дал ответ.
Поэтому, думаю, что на все ваши вопросы дали исчерпывающие ответы.
Так тогда измените
string num = null;
Начните думать иногда
 
Вот Это то что вы хотели?
 

Вложения

  • null.zp
    null.zp
    10,3 KB · Просмотры: 5
Ну это тоже самое что Вы высылали до этого и это не работает , string num = null; не работает, я не понимаю что я Вам сделал зачем столько негатива и высказываний лучше тогда не нужно мне помогать если собираетесь фыркать и высказываться в мою сторону, до этого я написал что не силен с C# что непонятного ? если Вы знаток то флаг вам в руки хотел попросить совета и помощи но такую помощь заберите себе пожалуйста.
 
В итоге кстати ничего рабочего так и не вышло если что .
 

Вложения

  • Безымянный.png
    Безымянный.png
    5,8 KB · Просмотры: 6
select count(1) total, count(case when login is null then 1 end) nulls from gmail
 

Вложения

  • Безымянный.png
    Безымянный.png
    9,4 KB · Просмотры: 9
Как вы видите 64 строка login есть NULL, это не я , а дб уже ответ дала.
Так что не знаю, что там у вас не получается.
 
Вот может там ошибся с проектом
 

Вложения

  • null.zp
    null.zp
    10,5 KB · Просмотры: 3
И вот вам код

Random rnd = new Random();
int val = rnd.Next(4);//Рандом от 0 до 4, 4 не включительно. У вас так и написано в кубиле , т.е. 0,1,2,3
string num = "NULL";//NULL
if(val != 1) num = "1";//Если не равно 1, то num = 1
//Запрос на вставку строки в бд
ZennoPoster.Db.ExecuteQuery("INSERT INTO `test_null`(`id`, `num`) VALUES (NULL,"+num+")", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;persistsecurityinfo=True;database=test", " ", "\r\n");
 
  • Оценить
Реакции: kolina и id0777
Благодарю за потраченное на меня время , поймите меня правильно я не силен в c# может быть со временем это придет (будем стараться) но на данном этапе это не так и поэтому то что Вам кажется очевидным и простым для меня вызывает трудности и боль , в любом случае еще раз БОЛЬШОЕ спасибо за советы
viol2021 Ваше решение работает
пойду разбираться дальше
 
Бармен всем пива за мой счет ))) :az:
 
Я тоже не силён в с#, но вставку строки в базу данных с заранее известным NULL вставляю следующим способом. Может кому тоже понадобится.
C#:
Развернуть Свернуть Копировать
string idCat = project.Variables["idCat"].Value;
string parentId = "null";
string cat = project.Variables["cat"].Value;
string statuse = "free";
    
string query = String.Format("INSERT INTO `parentid`(`idCat`, `parentId`, `cat`, `statuse`) VALUES ('{0}', NULL,'{2}','{3}')", idCat, null, cat, statuse);
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)