Вопрос
Добавление не повторяющихся данных в БД
25 февраля 2013 13:06
Подскажите пожалуйста. Вопрос у меня по работе с БД.
Необходимо осуществить добавления в БД не повторяющихся данных из файла. Как получить данные из файла и добавить я разобрался. Добавление делаю с помощью insert:
if (????????){
var insert = new Insert(UserConnection)
.Into("ConfItemsCode")
.Set("Name", Column.Const(str));
insert.Execute();
}
var insert = new Insert(UserConnection)
.Into("ConfItemsCode")
.Set("Name", Column.Const(str));
insert.Execute();
}
Но передо добавлением в БД мне надо проверить есть ли в этой таблице уже такая запись. Делаю это так:
var select = new Select(UserConnection)
.Column("Name")
.From("ConfItemsCode")
.Where("Name").IsEqual(str); // пробовал и IsLike
.Column("Name")
.From("ConfItemsCode")
.Where("Name").IsEqual(str); // пробовал и IsLike
str - это переменная типа string - данный из файла.
Вопрос: Как мне узнать есть ли в select какие -либо записи. Пробовал RowCount, HasCondition. Подскажите как это сделать правильно. Желательно получить int или bool для того чтобы проверить а только потом добавлять.
Нравится
2 комментария
25 февраля 2013 16:07
Здравствуйте.
Проще всего воспользоваться EnitySchemaQuery классом:
string Str = "test"; var manager = UserConnection.EntitySchemaManager; var query = new EntitySchemaQuery(manager, "Account"); var currentAccountId = query.AddColumn(query.RootSchema.PrimaryColumn.Name); var accountPhone = query.AddColumn("Name").Name; query.Filters.Add(query.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", Str)); var queryResult = query.GetEntityCollection(UserConnection); if (queryResult.Count == 0) { var insert = new Insert(UserConnection) .Into("ConfItemsCode") .Set("Name", Column.Const(str)); insert.Execute(); }
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать