Конструкции запросов к MySQL на шарпе

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Приветствую читающего!
Чуть разобрался с запросами к БД с помощью доброго человека, по крайней мере один, который нужен был вышел.

Код:
string zapros = @"select * from tel_base limit 1";
string rezult = ZennoPoster.Db.ExecuteQuery(zapros, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;password=root;persistsecurityinfo=True;database=sms_spamer;port=7777", " ", "\r\n");
return rezult;
Но вопросов осталось так много! ))) Не подскажете где почитать по поводу конструкций запросов к MySQL на шарпе? На данном этапе очень нужно понять как сделать шарповский аналог вот этого запроса с извлечением информации в список переменных
http://prntscr.com/imlwwp
Посмотрел тут https://help.zennolab.com/en/v5/zennoposter/5.15.0.0/webframe.html#topic796.html но или не понял, или не туда смотрел. Ткните носом пожалуйста!

Еще очень интересно как в БД MySQL через зенку заблокировать на чтение 1 строку, над которой я выполняю запрос
Код:
Select * from table limit 1
delete from table limit 1
Есть вот такое решение, но оно блокирует всю таблицу, а значит потоки в очереди будут стоять, что не красиво
Код:
string zapros = @"LOCK TABLES nametable WRITE;
         SELECT * FROM nametable LIMIT 1;
         DELETE FROM nametable LIMIT 1;
         UNLOCK TABLES;";
string rezult = ZennoPoster.Db.ExecuteQuery(zapros, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;database=base", " ", "");
return rezult;
И еще подскажите пожалуйста как завершить кубик C# с ошибкой. Что нужно в коде прописать? К примеру "Если одно условие верно, второе условие верно то выполняется какое-то действие, а если ни одного условие не выполняется, завершаем снипет с ошибкой"

И еще один момент. В следующем коде выполняется запрос к БД - после того, как он выполнился, транзакция считается завершенной? Или можно начать транзакцию (START TRANSACTION) в одном запросе ZennoPoster.Db.ExecuteQuery, выполнить какие-то запросы, потом сделать еще пачку запросов в другом ZennoPoster.Db.ExecuteQuery и завершить транзакцию COMMIT'ом?
Код:
string rezult = ZennoPoster.Db.ExecuteQuery(zapros, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=localhost;user id=root;database=base", " ", "");
 
Последнее редактирование:

wizard

Client
Регистрация
04.10.2011
Сообщения
989
Благодарностей
584
Баллы
93
И еще подскажите пожалуйста как завершить кубик C# с ошибкой.
Код:
throw new Exception("ERROR");
насчет лока конкретной записи или всей таблици - это зависит от типа таблицы (некоторые поддерживают, некоторые нет)
 
  • Спасибо
Реакции: Gor

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Код:
throw new Exception("ERROR");
насчет лока конкретной записи или всей таблици - это зависит от типа таблицы (некоторые поддерживают, некоторые нет)
Спасибо! Подскажите какие поддерживают и как этот lock сделать, если не очень сложно.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)