Зачем нужно открывать соединение и закрывать выполнение в запросе в winform?

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

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

Уже существует открытый DataReader, связанный с этим подключением, который необходимо сначала закрыть.

Как я могу удалить это открытие и закрытие в моей программе? Вот мой код: Оболочка оболочки = новая оболочка (отображение); shell.open (); Изображение image = новое изображение (дисплей, «C: /sample_image.png»); ...

Я пытаюсь нарисовать swt-изображение, но ничего не появляется:

Display display = new Display();
Shell shell = new Shell(display);
shell.open();

Image image = new Image(display, "C:/sample_image.png");
Rectangle bounds = image.getBounds();

GC gc = new GC(image);
gc.drawImage(image, 100, 100);
// gc.drawLine(0, 0, bounds.width, bounds.height);
// gc.drawLine(0, bounds.height, bounds.width, 0);
// gc.dispose();
// image.dispose();

while (!shell.isDisposed()) {
  if (!display.readAndDispatch())
    display.sleep();
}
display.dispose();

Я проверил, существует ли изображение и есть ли в нем содержание - есть идеи?

7
задан u123 31 May 2011 в 12:27
поделиться