Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.03.2010, 14:06   #1
kostyan23
Новичок
 
Регистрация: 01.03.2010
Сообщений: 1
Репутация: 10
По умолчанию ADO.NET: VS 2005 C# + Sql server express: добавление записи в таблицу

Всем привет! Заранее оговорюсь что с базами не знаком, поэтому вопрос ламерский! ))))

Есть 2 таблицы: TableUser (пользователи) и TableContact (контакты), связанные по полю idUser. TableUser - родительская таблица. Мне нужно добавить запись в таблицу TableContact. Пытаюсь делать это следующим способом:
Код:

dbContactsDataSet.TableContact.AddTableContactRow( txtContactName.Text, txtContactLastName.Text,
(TaskMaster.dbContactsDataSet.TableUserRow)dbConta ctsDataSet.TableUser.Select("SELECT * FROM TableUser WHERE UserName=" + cUser.Name)[0]);

Метод AddTableContactRow требует для добавления записи Имя, Фамилию и строку TableUserRow, которую я пытаюсь получить так:
(TaskMaster.dbContactsDataSet.Table UserRow)dbConta ctsDataSet.TableUser.Select("SELECT * FROM TableUser WHERE UserName=" + cUser.Name)[0]

При добавлении выдает ошибку:
Syntax error: Missing operand after 'TableUser' operator.

Подскажите в чем тут ошибка или как можно сделать другим способом. Заранее благодарен!

Последний раз редактировалось Stilet; 01.03.2010 в 14:15.
kostyan23 вне форума   Ответить с цитированием
Старый 02.03.2010, 15:04   #2
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Адрес: Харьков, Украина
Сообщений: 147
Репутация: 41

icq: 321774333
skype: arnezami_ua
По умолчанию

хм... лучше использовать LINQ, намного проще)) Ваш вопрос решаеться за 2 минуты)))

Создайте MyDataBase.dbml, перетащите туда, после коннекта к базе Ваши таблички, и вуаля - классы - сущности для Ваших таблиц готовы)))

Метод добавления данных с использованием LINQ:

Код:


public class CnBaseAdminDal
    {
        private CnDataBaseDataContext _cnDbContext;
        public CnDataBaseDataContext CnDataContext
        {
            get
            {
                if(_cnDbContext == null)
                    _cnDbContext = new CnDataBaseDataContext();
                    return _cnDbContext;
            }
        }
    }

public OperationInfo SetManualDeposits(ManualDeposit deposit)
        {
            try
            {
                CnDataContext.ManualDeposits.InsertOnSubmit(deposit);
                CnDataContext.SubmitChanges();
                return new OperationInfo { IsError = false };
            }
            catch (Exception exc)
            {
                return new OperationInfo
                {
                    IsError = true,
                    Info = "Невозможно пополнить счёт вручную! Ошибка выполнения запроса к базе данных",
                    ExcInfo = exc
                };
            }
        }


Последний раз редактировалось Arnezami; 02.03.2010 в 15:08.
Arnezami вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи в таблицу (ADO) Yura_S БД в Delphi 12 25.11.2009 20:11
Вставка БД с SQL server 2005 фЁдОр SQL, базы данных 17 20.11.2007 18:15
MS SQL server 2000, ADO. Добавленые записи не отображаются при последующих запросах. _victor БД в Delphi 1 17.06.2007 13:33


17:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru