Twoje myślenie idzie w totalnie błędnym kierunku.
Po pierwsze jak korzystamy z dialogów. Okna dialogowe (metoda ShowDialog()) zwracają DialogResult. Na podstawie tej wartości odgadujemy co użytkownik zrobił, bo zazwyczaj zamknięcie okna to wynik kliknięcia jakiegoś przycisku, bez względu na to co wpisał w jakieś pola tekstowe etc. decyduje właśnie to który przycisk kliknął (OK, Anuluj, Wstecz, Następny). Więc twoje wywołanie dialogu wyboru pliku powinno wyglądać tak:
if (openFileDialogSkanDokuemntu.ShowDialog() == DialogResult.OK)
{
... // tu należy wykonać akcję, w innym przypadku użytkownik wybrał Anuluj lub [X], co nie znaczy że właściwość FileName jest pusta, więc poleganie na niej jest BŁĘDEM!
}
Nie wiem po co tworzysz tablicę wielkości 255 bajtów (skanDok), bo byte.MaxValue = 255.
skanDok[i] = Byte.Parse(openFileDialogSkanDokuemntu.FileName);
To też jest jakąś totalną głupotą. Nie wiem co chciałeś osiągnąć, ale metoda Parse, parsuje string do byte. Byte to nic innego jak liczba całkowita od 0 do 255, więc sparsować poprawnie można "0", "25", "127", "231", ...
To nie jest metoda przekształcania pliku do tablicy bajtów jak napisał ci somekind.
Jak powinno to być zrobione poprawnie?
Jeśli dialog otwarcia pliku został zatwierdzony OK, pobierasz nazwę pliku z właściwości FileName i albo zapamiętujesz w jakimś polu, a plik otwierasz w miejscu gdzie ci potrzeba, albo od razu otwierasz plik, co można zrobic od razu za pomocą metody OpenFileDialog.OpenFile().
Czytanie pliku.
Dostajesz strumień. M.in. ma on właściwość Length i o takiej długości musisz utworzyć sobie tablicę byte, do której wczytasz plik. Po wczytaniu pliku do tablicy zamykasz strumień. Masz już gotową tablicę byte, aby wstawić ją do bazy.
Jeśli plik otworzysz do czytania jako tekstowy (np. za pomocą System.IO.File.OpenText()/OpenRead()) i dostaniesz StreamReader (czy coś z TextReader) to musisz przeczytać zawartość pliku do string, a później przy użyciu odpowiedniego Encoding przekształcić go do tablicy byte.