Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
nwhta
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 66
1

Как правильно составить запрос к SQL Server?

18.11.2014, 22:20. Просмотров 1019. Ответов 7
Метки нет (Все метки)

всем привет!
программа должна по нажатию кнопки писать в базу данных:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            this.textBox2.Text = "1";
            this.textBox1.Text = "1";
            string connectionString = "Server=NIKITA-PC\\SQLEXPRESS;DataBase = sdms;Integrated Security=True";
            string queryString = "INSERT INTO Users(OutlookUserName, OutlookPass) " + "VALUES (" + this.textBox1.Text + ",'" + this.textBox2.Text + "')";
             SqlConnection myConnection = new SqlConnection(connectionString);
             myConnection.Open();
                    try
                    {
                        SqlCommand cmd = new SqlCommand(queryString, myConnection);
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        myConnection.Close();
                    }
пол дня пытаюсь решить чего оно хочет, помогите пожалуйста.............
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 22:20
Ответы с готовыми решениями:

Как правильно составить SQL-запрос?
Пытаюсь писать службу, взаимодействующую с SQL. Вопрос по запросу у меня....имеется следующий код ...

Как правильно подключаться к БД SQL Server 2005
Подскажите пожалуйста как правильно связываться с БД SQL Server 2005 средствами C# ? На моем...

Как передать критерий в запрос SQL Server?
Используется: - EntityFramework - 6.2.0; - MS Sql Server 2012; В MS Access я использую...

Как правильно загрузить данные xml файла в sql server
посмотрите документ и подскажите пожалуйста как мне загрузить данные так чтобы данные лежали как...

Как правильно подключиться к sql server через Visual studio 2008?
connect = new SqlConnection("Data Source=MIX-ПК; Initial Catalog=per; Integrated Security=True");...

7
kontuPauk
303 / 301 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
18.11.2014, 22:34 2
Почему Вы значение второго поля заключаете в одинарные скобки (кавычки), а значение первого нет? Загвоздка видимо в этом. По уму программа должна была выдать исключение, в котором ошибки описаны.
Используйте запросы с параметрами - таких ошибок удастся избежать.
0
nwhta
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 66
18.11.2014, 22:42  [ТС] 3
Цитата Сообщение от kontuPauk Посмотреть сообщение
Почему Вы значение второго поля заключаете в одинарные скобки (кавычки), а значение первого нет? Загвоздка видимо в этом. По уму программа должна была выдать исключение, в котором ошибки описаны.
Используйте запросы с параметрами - таких ошибок удастся избежать.
да ставил и так и так и все равно ошибки................
0
kontuPauk
303 / 301 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
18.11.2014, 22:52 4
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Замените и добавьте строки:
C#
1
2
3
4
5
string queryString = "INSERT INTO Users (OutlookUserName, OutlookPass) VALUES (@userName, @pass)"; // вместо строки 4
// ...
// а эти строки поместите между 9й и 10й
cmd.Parameters.AddWithValue("userName", textBox1.Text);
cmd.Parameters.AddWithValue("pass", textBox2.Text);
0
nwhta
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 66
18.11.2014, 23:21  [ТС] 5
Цитата Сообщение от kontuPauk Посмотреть сообщение
C#
1
2
3
4
5
string queryString = "INSERT INTO Users (OutlookUserName, OutlookPass) VALUES (@userName, @pass)"; // вместо строки 4
// ...
// а эти строки поместите между 9й и 10й
cmd.Parameters.AddWithValue("userName", textBox1.Text);
cmd.Parameters.AddWithValue("pass", textBox2.Text);
"can not insert value NULL into the column UserId" и т.д
инглишь я знаю не плохо, но синтаксиса не знаю, долблюсь как уже пол дня(((...................
0
kontuPauk
303 / 301 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
19.11.2014, 00:24 6
У Вас в таблице есть поле UserId. Оно должно быть заполнено. Или сделайте его автоинкрементом.
1
nwhta
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 66
19.11.2014, 01:09  [ТС] 7
Цитата Сообщение от kontuPauk Посмотреть сообщение
У Вас в таблице есть поле UserId. Оно должно быть заполнено. Или сделайте его автоинкрементом.
пасибо за шаг в нужном направлении, а как именно? ведь я в него не записываю?
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
19.11.2014, 05:39 8
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Цитата Сообщение от nwhta Посмотреть сообщение
ведь я в него не записываю?
Вот именно! если вы добавляете новую строку в таблицу, но не записываете данные в поле, в котором нет значения по-умолчанию, то в него заносится значение NULL. Если это поле имеет ограничение, в соответствии с которым оно не может содержать значение NULL, то при попытке такой вставки возникает ошибка "can not insert value NULL into the column [columnName]".quote="nwhta;6870333"]а как именно?[/quote]Например, так:
C#
1
2
3
4
string queryString = "INSERT INTO Users (OutlookUserName, OutlookPass, UserId) VALUES (@UserName, @Pass, @UserId)";
cmd.Parameters.AddWithValue("@UserName", textBox1.Text);
cmd.Parameters.AddWithValue("@Pass", textBox2.Text);
cmd.Parameters.AddWithValue("@UserId", [значение. которое нужно запихать в поле UserId]);
0
19.11.2014, 05:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2014, 05:39

Подскажите как правильно организовать запрос с параметром в sql
Есть такой цикл, который подразумевает вставлять каждую итерацию строчку в базу. Но как то не могу...

Запрос из базы возвращает в reader значение поля типа date как datetime +MS SQL Server 2008
В таблице есть поле типа Date, в таблицу добавлены записи, в это поле добавлена запись только с...

Как перекатить с sql server на другой sql server
Как перекатить базу данных с одного sql сервера на другой


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru