2010-04-29 1 views
0

Я пытаюсь вставить запись в таблицу без использования объекта SubSonic в приложении VB.Net Windows. (Это займет слишком много времени, чтобы объяснить, почему.)Не удается получить вставку SubSonic для работы

Dim д As New SubSonic.Query ("имя_таблицу") q.QueryType = SubSonic.QueryType.Insert q.AddUpdateSetting ("Описание", txtDescription.Text) q.Execute()

Это просто обновляет все строки таблицы. Я прочитал в одном сообщении, что вместо AddUpdateSetting я должен использовать AddWhere, но это не имело для меня никакого смысла. Мне вообще не нужна фраза «где».

Поиск всех: QueryType.Insert at subsonicproject.com ничего не возвращает (что, по моему мнению, было странным).

Может ли кто-нибудь сказать мне, как исправить этот запрос? Благодаря!

ответ

0

Вы используете ActiveRecord? Лучший способ - просто создать новый объект SubSonic и вызвать метод Save.

Product p = new Product(); 
p.Description = "Hello World"; 
p.Save(); 

Update:

Я проверил его. По крайней мере, в SubSonic2 вы можете использовать этот фрагмент кода:

DB.Insert() _ 
     .Into(TableObject.Schema, TableObject.Columns.Description) _ 
     .Values(txtDescription.Text) _ 
     .Execute() 
+0

О, да. Мы постоянно используем активную запись. Эта конкретная форма предназначена для редактирования нескольких аналогичных таблиц. Таким образом, вместо того, чтобы вывести значение выпадающего списка, чтобы выяснить, какой активный объект записи нужно сделать, я подумал, что у меня просто будет имя таблицы как выпадающее значение и обновить таблицу с помощью общего запроса. –