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

Почему не добавляются данные в базу

21.05.2011, 11:54. Просмотров 1221. Ответов 7
Метки нет (Все метки)

Ребят, подскажите начинающей. Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sqlConnection1.Open();
                    SqlTransaction trans = sqlConnection1.BeginTransaction("Тестирование");
                    try
                    {
                        sqlCommand2.CommandText = "INSERT INTO Ученики(Фамилия, Имя, Отчество, Класс) Values(@Фамилия, @Имя, @Отчество, @Класс)";
 
                        sqlCommand2.Parameters.Add("@Фамилия", SqlDbType.VarChar, 20, "Фамилия");
                        sqlCommand2.Parameters.Add("@Имя", SqlDbType.VarChar, 20, "Имя");
                        sqlCommand2.Parameters.Add("@Отчество", SqlDbType.VarChar, 20, "Отчество");
                        sqlCommand2.Parameters.Add("@Класс", SqlDbType.VarChar, 5, "Класс");
 
                        sqlCommand2.Parameters["@Фамилия"].Value = personBox.Text; ;
                        sqlCommand2.Parameters["@Имя"].Value = personBoxИмя.Text;
                        sqlCommand2.Parameters["@Отчество"].Value = personBoxОтчество.Text;
                        sqlCommand2.Parameters["@Класс"].Value = класс.Text;
 
                        sqlCommand2.ExecuteNonQuery();
                        sqlConnection1.Close();
                        trans.Commit();
                    }
                    catch (Exception error)
                    {
                        trans.Rollback();
                    }
В общем, пока приложение работает данные добавлены, все нормально, после выхода в базе никаких изменений нет. И естественно при повторном входе в приложение новыми записями и не пахнет.
Я наверное чего-то не знаю или не понимаю???? Как записать мои данные в саму базу?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 11:54
Ответы с готовыми решениями:

Не добавляются данные в базу
Помогите, пожалуйста!! Не понимаю в чем ошибка. public partial class DealPlace :...

Не добавляются данные на сервер в базу Access
Всем привет! Есть страница новостей, в ней есть кнопка добавить новость. Если я добавляю...

Не обновляются/добавляются данные данные через клиент
привет форумчане,не обновляются данные через клиент при нажатии на кнопку ничего не происходит...

Слишком долго добавляются новые строки в базу данных Azure
Здравствуйте! Столкнулся с непонятной мне проблемой. Как можно ускорить запись в БД? Если...

Не добавляются данные в БД
Я создал базу данных access и связал ее с visual studio 2013, создал в visual 6 форм и на все...

7
_darko_
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 12
21.05.2011, 16:08 2
Если пишешь в какой либо студии, при компиляции она базу копирует и ты работаешь уже не с "твоей" базой напрямую, а как бы с её копией. Если ты говоришь, что при работе ошибок не возникает и данные добавляются все нормально. Тогда сделай Release версию и запусти экзешник. Тогда данные будут писаться в твою базу "напрямую".
0
Alligieri
CEO
Эксперт С++
2254 / 1244 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
21.05.2011, 17:09 3
_darko_, не выдумывайте


annet-ka, сначала
Цитата Сообщение от annet-ka Посмотреть сообщение
trans.Commit();
а уже потом
Цитата Сообщение от annet-ka Посмотреть сообщение
sqlConnection1.Close();
потому что вы отправляете сигнал закрытия транзакции уже ПОСЛЕ закрытия соединения - сервер делает автоматический откат, поменяйте команды местами, а еще лучше - вынесите sqlConnection1.Close() в блок finally
0
annet-ka
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 5
21.05.2011, 18:26  [ТС] 4
Поменяла я эти строки местами, но ничего не изменилось.
0
21.05.2011, 18:26
_darko_
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 12
21.05.2011, 21:41 5
Alligieri, Я не выдумываю Я сейчас пишу проект база лежит в папке Source. DataBindings и конекторы все ссылаются на неё, но при компиляции студия копирует эту базу в папку где все формы и классы и на редактирование открывает её! Если делаю изменения все происходит в этой базе. Исходную не затрагивает. Тогда что это? Или студия неправильно настроена?
0
Alligieri
CEO
Эксперт С++
2254 / 1244 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
21.05.2011, 23:13 6
annet-ka, при отладке код точно не выбрасывает эксепшен?
_darko_, с Compact не заморачивался, если это правда - тогда извиняюсь я думаю можно б было изменить свойство ресурса "Копировать в расположение" и посмотреть что скажет в этом случае
0
Мартин
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
04.03.2013, 23:09 7
Помогите не добавляются данные в базу
В базе есть хранимая процедура
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ALTER PROCEDURE [dbo].[info_add]
@Name_org NVARCHAR(50),
@Tipe_doc NCHAR(10),
@Date_doc DATE,
@Number_doc NVARCHAR(50),
@Name_doc NVARCHAR(MAX),
@Date_ispl DATE,
@Ispl NVARCHAR(50),
@Otm_ispl INT
AS
BEGIN
INSERT INTO dbo.Info (Name_org, Tipe_doc, Date_doc, Number_doc, Name_doc, Date_ispl, Ispl, Otm_ispl)
VALUES(@Name_org , @Tipe_doc, @Date_doc, @Number_doc, @Name_doc, @Date_ispl, @Ispl, @Otm_ispl)
END
обращаюсь к данной процедуре для добавления данных
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void b_add_Click(object sender, EventArgs e)
        {
            DateTime K1 = new DateTime(Date_doc.Value.Year, Date_doc.Value.Month, Date_doc.Value.Day);
            DateTime K2 = new DateTime(Date_ispl.Value.Year, Date_ispl.Value.Month, Date_ispl.Value.Day);
            SqlConnection connection = new SqlConnection(this.sqlConnectionString);
            connection.Open();                              
            SqlCommand cmd = connection.CreateCommand();    
            cmd.CommandText = "info_add";                        
            cmd.CommandType = CommandType.StoredProcedure;       
            cmd.Parameters.Add("@Name_org", SqlDbType.NVarChar).Value = Name_org.Text; 
            cmd.Parameters.Add("@Tipe_doc", SqlDbType.NChar).Value = Tape_doc.Text;
            cmd.Parameters.Add("@Date_doc", SqlDbType.Date).Value = K1;
            cmd.Parameters.Add("@Number_doc", SqlDbType.NVarChar).Value = Number_doc.Text;
            cmd.Parameters.Add("@Name_doc", SqlDbType.NVarChar).Value = Name_doc.Text;
            cmd.Parameters.Add("@Date_ispl", SqlDbType.Date).Value = K2;
            cmd.Parameters.Add("@Ispl", SqlDbType.NVarChar).Value = Ispl.Text;
            cmd.Parameters.Add("@Otm_ispl", SqlDbType.Int).Value = 0;
            cmd.ExecuteNonQuery();
            connection.Close();
         }
После выполнения программы в базе пусто, что сделал неправильно?
0
dev.Free
Заблокирован
05.03.2013, 08:05 8
_darko_, Действительно хорошо так "зачисал" по ушам ))))

Добавлено через 58 секунд
Мартин, Выбросите в хлам ваши соурсы и прочую нечисть работайте с прямыми соединениями через код! Что за метод "Я УЧУСЬ ПО КНИГАМ".
0
05.03.2013, 08:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 08:05

Не добавляются данные в БД
Добрый день форумчане. Совсем недавно начал изучать Entity Framework 6 . На данный момент у меня не...

Не добавляются данные в таблицу
Всем доброго времени суток. В локальной базе данных я создал таблицу изменений для синхронизации...

Не добавляются данные в таблицу БД
Пытаюсь поочередно добавить данные в 3 таблицы БД: улица, адрес и постоянные клиенты. В улицу и...


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

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

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