Вставка в базу данных SQL Azure изменяет чтение в переменные данные для & amp; характер для & amp; в поле данных sql

Привет у меня есть данные поля, содержащие & символ т.е. 1&2, но когда эти данные читаются, а затем вставляются в базу данных SQL Azure, & символ заменяется на & поэтому данные 1&2 это безумие, почему Azure делает это и как это предотвратить?

            strcpy(s, "select ta.Tank_Id, ta.Fish_Id, ta.Date_Assigned, t.Group_Name from Tank_Assignment as ta join Tank as t on t.Tank_Id = ta.Tank_Id join Tank_Group as tg on tg.Group_Name = t.Group_Name where ta.Date_UnAssigned is null");
sprintf(&s[strlen(s)], " and tg.Site_Name = '%s' ORDER BY ta.Tank_Id", Site_Name);
sql->exec_direct(s);

if (!sql->success() && sql->ret != 100) {
DisplaySQLError(hW, sql, s);
}
while (sql->success() && sql->fetch() == MSQL_SUCCESS) {
sql->get_col_str("Tank_Id", sTank_Id);
sql->get_col_str("Fish_Id", sFish_Id);
sql->get_col_str("Date_Assigned", sDate_Assigned);
sql->get_col_str("Group_Name", sGroup_Name);

strcpy(s, "insert into sqlazure.ha.dbo.itank");
strcat(s, " (Tank_Id,Fish_Id,Date_Assigned,Feed,Morts,Moved,Enviro,Weight,Group_Name,User_Id) ");
sprintf(&s[strlen(s)], " VALUES('%s',", sTank_Id);
sprintf(&s[strlen(s)], " '%s',", sFish_Id);
sprintf(&s[strlen(s)], " '%s',", sDate_Assigned);
sprintf(&s[strlen(s)], " '%s',", "null");
sprintf(&s[strlen(s)], " '%s',", "null");
sprintf(&s[strlen(s)], " '%s',", "null");
sprintf(&s[strlen(s)], " '%s',", "null");
sprintf(&s[strlen(s)], " '%s',", "null");
sprintf(&s[strlen(s)], " '%s',", sGroup_Name);
sprintf(&s[strlen(s)], " '%s')", _szUsername);
sql2->exec_direct(s);

if (!sql2->success() && sql2->ret != 100) {
DisplaySQLError(hW, sql, s);
}

}
sql->end_fetch();

0

Решение

Это происходит в связи с HTML, XHTML или XML, где некоторые символы имеют специальное значение и, следовательно, должны быть экранированы, или вы используете символы, которые не охватываются кодировкой символов, используемой вашей строкой.

Вы будете найти много списков, как это показывая такие коды замены, называется юридические лица.

Самые обычные <, > а также & но есть еще много …

Другими словами: это не псих, но вопрос как читать ваши данные.

0

Другие решения

Мой плохой, данные в sql azure такие же, как в sql в 2016 году, проблема была в том, что asp gridview отображал & и когда это читается в значении сеанса, он содержит & Теперь мне нужно остановить отображение этих символов в сетке. извините за погоню за диким гусем.

0

Оказалось, что asp gridview не отображает дополнительный усилитель; данные, но когда вы читаете их с помощью tankrow.Cells [2] .Text; он добавляет его в то время как если вы используете HttpUtility.HtmlDecode (tankrow.Cells [2] .Text); это избавляется от этого.

0