Недопустимая попытка читать, когда никакие данные не присутствуют

Я посмотрел на защиту программного обеспечения в целом для моих собственных проектов, и общая философия - то, что полная защита невозможна. Единственная вещь, которой можно надеяться достигнуть, состоит в том, чтобы добавить защиту к уровню, который стоил бы клиенту больше для обхода, чем это будет для покупки другой лицензии.

После этих слов я просто проверял Google на Python obsfucation и не поднимал многое из чего-либо. В.Net решении obsfucation был бы первым подходом к Вашей проблеме на платформе окон, но я не уверен, есть ли у кого-либо решения на Linux та работа с Моно.

следующая вещь состояла бы в том, чтобы записать Ваш код на скомпилированном языке, или если Вы действительно хотите пойти полностью, затем в ассемблере. Разделенный исполняемый файл было бы намного более трудно декомпилировать, чем интерпретируемый язык.

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

Ваш босс должен выбрать точку где-нибудь вдоль того континуума, который поддерживает его требования. И затем он должен дать Вам инструменты и время, таким образом, можно создать то, что он хочет. Однако моя ставка - то, что он возразит против реальных затрат на разработку по сравнению с потенциальными денежными потерями.

72
задан Liam 19 December 2012 в 11:06
поделиться

2 ответа

Вы должны вызвать DataReader.Read для получения результата:

SqlDataReader dr = cmd10.ExecuteReader();
if (dr.Read()) 
{
    // read data for first record here
}

DataReader.Read () возвращает bool , указывающее, если есть больше блоков данных для чтения, поэтому, если у вас более 1 результата, вы можете сделать:

while (dr.Read()) 
{
    // read data for each record here
}
162
ответ дан 24 November 2019 в 12:30
поделиться

Вы должны вызвать dr.Read () , прежде чем пытаться прочитать какие-либо данные. Этот метод вернет false, если читать нечего.

17
ответ дан 24 November 2019 в 12:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: