Лучший отвечающий
Подскажите как правильно задать в запросе условия?

Вопрос
-
Здраствуйте, у меня есть запрос к БД:
OldStr = "Select VK_ID from MembersInfo where City ='" + cbx_City.Text +"'";
У меня условия отбора производится по городу Москва подскажите, какое мне задать условие, что бы запрос игнорировал пустые строки в поле VK_ID?
- Изменено Иван Лукашов 19 мая 2013 г. 15:52
19 мая 2013 г. 13:54
Ответы
-
А какого типа у вас VK_ID? Если это символьный тип, то добавьте в условие AND VK_ID <> '':
Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL AND VK_ID <> ''
И еще, как я написал, строчку
com = new OleDbCommand() { Connection = con };
надо писать в начале вашего метода, второй строкой, а еще конкретнее, после объявления переменной con.
- Изменено Varlamov Oleg 20 мая 2013 г. 1:51
- Помечено в качестве ответа Иван Лукашов 20 мая 2013 г. 10:09
20 мая 2013 г. 1:33 -
public void SendVKMesseges(){ OleDbConnection con = new OleDbConnection(connectionString); // ПЕРВАЯ строка com = new OleDbCommand() { Connection = con }; // ВТОРАЯ строка
- Помечено в качестве ответа Иван Лукашов 20 мая 2013 г. 10:09
20 мая 2013 г. 9:56
Все ответы
-
Ну, во-первых, используйте параметры. А запрос следует написать таким образом:
string OldStr = "Select VK_ID from MembersInfo where City = @city AND VK_ID IS NOT NULL";
- Изменено Varlamov Oleg 19 мая 2013 г. 15:58
- Предложено в качестве ответа Naomi N 19 мая 2013 г. 19:12
19 мая 2013 г. 15:57 -
Ну, во-первых, используйте параметры. А запрос следует написать таким образом:
string OldStr = "Select VK_ID from MembersInfo where City = @city AND VK_ID IS NOT NULL";
Вот как я сделал используя параметры:
OldStr = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL"; com.Parameters.Add("@City", OleDbType.Char, 55).Value = cbx_City.Text;
водится ошибка (В экземпляре объекта не задана ссылка на объект.)
- Изменено Иван Лукашов 19 мая 2013 г. 17:26
19 мая 2013 г. 17:20 -
Используйте дебаггер для того чтобы понять в чем ошибка. Как я понимаю, у вас com=null потому, что вы его инициализируете двумя строчками ниже.
com = new OleDbCommand(OldStr, con);
Инициализируйте объекты раньше чем их используете.19 мая 2013 г. 17:26 -
Используйте дебаггер для того чтобы понять в чем ошибка. Как я понимаю, у вас com=null потому, что вы его инициализируете двумя строчками ниже.
Простите, не понял как инициализируйте объекты раньше чем их используйте??com = new OleDbCommand(OldStr, con);
Инициализируйте объекты раньше чем их используете.19 мая 2013 г. 17:36 -
Как самый простой вариант, напишите строчку
com = new OleDbCommand(OldStr, con);
перед той строкой, на которой у вас вышла ошибка.
19 мая 2013 г. 17:42 -
Как самый простой вариант, напишите строчку
com = new OleDbCommand(OldStr, con);
перед той строкой, на которой у вас вышла ошибка.
Написал вот вышла ошибка (Отсутствует значение для одного или нескольких требуемых параметров):
- Изменено Иван Лукашов 19 мая 2013 г. 18:01
19 мая 2013 г. 18:00 -
Иван, ровно на одну строчку ниже надо было, это раз. А два, лучше написать так:
1) Вверху объявляете com = new OleDbCommand() {Connection = con};
2) Избавляетесь от OldStr и везде вместо OldStr = "..." пишете com.CommandText = "...";
3) Избавляетесь от com = new OleDbCommand(OldStr, con);
- Предложено в качестве ответа Naomi N 19 мая 2013 г. 19:13
19 мая 2013 г. 18:11 -
Иван, ровно на одну строчку ниже надо было, это раз. А два, лучше написать так:
1) Вверху объявляете com = new OleDbCommand() {Connection = con};
2) Избавляетесь от OldStr и везде вместо OldStr = "..." пишете com.CommandText = "...";
3) Избавляетесь от com = new OleDbCommand(OldStr, con);
19 мая 2013 г. 18:24 -
Соответствующие команды, которые вы присваиваете, к примеру, вместо
OldStr = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL";
надо написать
com.CommandText = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL";
- Изменено Varlamov Oleg 19 мая 2013 г. 18:28
- Предложено в качестве ответа Naomi N 19 мая 2013 г. 19:13
19 мая 2013 г. 18:27 -
Соответствующие команды, которые вы присваиваете, к примеру, вместо
OldStr = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL";
надо написать
com.CommandText = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL";
Вот, как написал
if (RadioButton_SelectCity.Checked == true) { com = new OleDbCommand() { Connection = con }; com.CommandText = "Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL"; com.Parameters.Add("@City", OleDbType.Char, 55).Value = cbx_City.Text; }
Ну, все равно пустые строки подхватывает
- Изменено Иван Лукашов 19 мая 2013 г. 19:19
19 мая 2013 г. 19:17 -
А какого типа у вас VK_ID? Если это символьный тип, то добавьте в условие AND VK_ID <> '':
Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL AND VK_ID <> ''
И еще, как я написал, строчку
com = new OleDbCommand() { Connection = con };
надо писать в начале вашего метода, второй строкой, а еще конкретнее, после объявления переменной con.
- Изменено Varlamov Oleg 20 мая 2013 г. 1:51
- Помечено в качестве ответа Иван Лукашов 20 мая 2013 г. 10:09
20 мая 2013 г. 1:33 -
А какого типа у вас VK_ID? Если это символьный тип, то добавьте в условие AND VK_ID <> '':
Select VK_ID from MembersInfo where City = @City AND VK_ID IS NOT NULL AND VK_ID <> ''
И еще, как я написал, строчку
com = new OleDbCommand() { Connection = con };
надо писать в начале вашего метода, второй строкой, а еще конкретнее, после объявления переменной con.
Простите, ну я не могу понять вот это:
надо писать в начале вашего метода, второй строкой, а еще конкретнее, после объявления переменной con.
Покажите пример на коде? Спасибо
20 мая 2013 г. 9:21 -
public void SendVKMesseges(){ OleDbConnection con = new OleDbConnection(connectionString); // ПЕРВАЯ строка com = new OleDbCommand() { Connection = con }; // ВТОРАЯ строка
- Помечено в качестве ответа Иван Лукашов 20 мая 2013 г. 10:09
20 мая 2013 г. 9:56 -
public void SendVKMesseges(){ OleDbConnection con = new OleDbConnection(connectionString); // ПЕРВАЯ строка com = new OleDbCommand() { Connection = con }; // ВТОРАЯ строка
20 мая 2013 г. 10:10