MySql C#

Shytov

Client
Регистрация
11.09.2018
Сообщения
172
Благодарностей
40
Баллы
28
Доброго времени суток ув. Подскажите пожалуйста как подствить в c# имя базы в запросе к БД. Все ни как не могу разбратся, что ни пробовал, одни ошибки.
Код:
ZennoPoster.Db.ExecuteScalar("LOCK TABLES ИМЯ_ТАБЛИЦЫ WRITE;\r\nINSERT INTO ИМЯ_ТАБЛИЦЫ (` `data_and_time_add`) VALUES (\'" +TimeNowDate+ "\');\r\nUNLOCK TABLES;", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=\'"+project.Variables["serv_mysql"].Value+"\';user id=\'"+project.Variables["user_mysql"].Value+"\';password=\'"+project.Variables["pass_mysql"].Value+"\';database=\'"+project.Variables["database_mysql"].Value+"\';port=\'"+project.Variables["port_mysql"].Value+"\';persistsecurityinfo=True");
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 008
Благодарностей
4 484
Баллы
113
Какая-то белиберда с кавычками разных типов и переносами строки
\r\n
 
  • Спасибо
Реакции: Koqpe

Shytov

Client
Регистрация
11.09.2018
Сообщения
172
Благодарностей
40
Баллы
28

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 008
Благодарностей
4 484
Баллы
113

Shytov

Client
Регистрация
11.09.2018
Сообщения
172
Благодарностей
40
Баллы
28
Вы не внимательно читали, или может я по нубски излагаю. В любом случае извините за недопонимание.

Меня интересует как подставить значение в
ИМЯ_ТАБЛИЦЫ

Код:
ZennoPoster.Db.ExecuteScalar("LOCK TABLES ИМЯ_ТАБЛИЦЫ WRITE;\r\nINSERT INTO ИМЯ_ТАБЛИЦЫ (` `data_and_time_add`) VALUES (\'" +TimeNowDate+ "\');\r\nUNLOCK TABLES;", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=\'"+project.Variables["serv_mysql"].Value+"\';user id=\'"+project.Variables["user_mysql"].Value+"\';password=\'"+project.Variables["pass_mysql"].Value+"\';database=\'"+project.Variables["database_mysql"].Value+"\';port=\'"+project.Variables["port_mysql"].Value+"\';persistsecurityinfo=True");
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 008
Благодарностей
4 484
Баллы
113
Если имя в переменной:
"LOCK TABLES `" + project.Variables["table_name"].Value + "` WRITE;.... и т. д.
 
  • Спасибо
Реакции: Shytov

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 900
Благодарностей
2 635
Баллы
113
Подскажите пожалуйста как подствить в c# имя базы в запросе к БД. Все ни как не могу разбратся, что ни пробовал, одни ошибки.
Попробуйте примерно так:
C#:
string[] connect_data = new[] {
    string.Format(@"server={0}",project.Variables["serv_mysql"].Value),
    string.Format(@"user id={0}",project.Variables["user_mysql"].Value),
    string.Format(@"password={0}",project.Variables["pass_mysql"].Value),
    string.Format(@"database={0}",project.Variables["database_mysql"].Value),
    string.Format(@"port={0}",project.Variables["port_mysql"].Value),
    "persistsecurityinfo=True"
};

string conneсt_db = string.Join(";", connect_data);
string tb_name = "ИМЯ_ТАБЛИЦЫ";
string TimeNowDate = "12.01.2020";
string SQL = string.Format("LOCK TABLES `{0}` WRITE;",tb_name);
    SQL += Environment.NewLine;
    SQL += string.Format(@"INSERT INTO `{0}` (`data_and_time_add`) VALUES ('{1}');",tb_name, TimeNowDate );
    SQL += Environment.NewLine;
    SQL += "UNLOCK TABLES;";
string resp = ZennoPoster.Db.ExecuteScalar(SQL, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, conneсt_db);
return resp;
Хотя, мне кажется, что в результате интересно было бы узнать, добавлена была строка или нет (изменена).
Для этого лучше было бы использовать запрос:
C#:
 int resp = ZennoPoster.Db.ExecuteNonQuery(SQL, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, conneсt_db);
 
Последнее редактирование:

Shytov

Client
Регистрация
11.09.2018
Сообщения
172
Благодарностей
40
Баллы
28
Всем спасибо за ответы!
 

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