Достаточно простой вопрос, мне нужно сделать INSERT && SELECT из созданной мною таблицы
Если я правильно понял, я создал в пакете объект, дал ему имя скажем UsrTest
http://joxi.ru/RmzkDq7s0Z3vE2
Унаследовался от BaseObject Туда подтянулись базовые колонки id created modified
У меня есть WebService который слушает GET параметр, и вставляет его в базу данных.
Вопрос как сделать вставку и выборку на сороне сервера
В доках присуствует некий UserConnection который я хз как получить или откуда его взять
{
var request = HttpContext.Current.Request;
//NEED TO INSERT request["param"] to DB UsrTest to field "name"
//NEED TO SELECT ALL FROM TABLE AND RETURN
}
UPD: Field name вымышлен, но не суть важно
Нравится
Здравствуйте. Вам должна помочь эта ссылка
https://academy.terrasoft.ru/documents/technic-sdk/7-10/crud-operacii-n…
Есть два подхода
Использование методов Select и Insert
Использование EntitySchemaQuery
"Роман Симута" написал:Здравствуйте. Вам должна помочь эта ссылка
https://academy.terrasoft.ru/documents/technic-sdk/7-10/crud-operacii-na...
Есть два подхода
Использование методов Select и Insert
Использование EntitySchemaQuery
Доброго времени суток, спасибо за ваш комментарий, на данный момент у меня написано следущее
[OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public string set(string data) { var userConnection = (UserConnection)HttpContext.Current.Session["UserConnection"]; var insert = new Insert(userConnection).Into("UsrTest") .Set("UsrAccessTokenString", Column.Const("SOME_TOKEN")) .Set("UsrAccessTokenRefresh", Column.Const("SOME_REFRESH_TOKEN")); return "Hello"; } [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public string get(string data) { var text = "Data: "; var userConnection = (UserConnection)HttpContext.Current.Session["UserConnection"]; Select selectQuery = new Select(userConnection) .Column("UsrAccessTokenString") .Column("UsrAccessTokenRefresh") .From("UsrTest"); // Выполнение запроса к базе данных и получение результирующего набора данных. using (DBExecutor dbExecutor = userConnection.EnsureDBConnection()) { using (IDataReader reader = selectQuery.ExecuteReader(dbExecutor)) { while (reader.Read()) { text = "TOKEN: " + reader.GetString(0) + " REFRESH: " + reader.GetString(1) + "; "; } } } return text; }
У меня создан обьект с именем UsrTest и там соответственно колонки, но когда я стучусь на get() я получаю exception: The exception message is 'Invalid object name 'dbo.UsrTest'.'
Объект назван так как указано в запросе
И сразу еще один вопрос, можно ли посмотреть данные в БД (если разработка идет on-cloud)
UPD: Ошибка пропала когда в пакете кликнул по объекту проавкой кнопкой мыши и выбрал обновление структуры базы
Посмотреть данные в БД, если разработка на on-cloud, можно используя партнерский модуль для работы с SQL запросами. Подробнее информация по ссылке: http://samarasoft.com/sql-console/?utm_source=community&utm_medium=web
при создании объекта вы его публиковали? если нет, то не была создана таблица в бд
Добрый день.
Ошибка свидетельствует о том, что таблицы с именем UsrTest нет. Скорей всего объект не был опубликован или же поле 'Название' не содержит 'UsrTest'.