With SDF you probably mean a SQL Server CE database file. If that's correct, then I guess you have a problem with your connection string.
SQL Server CE doesn't have a database engine like for example Express edition has. Because of this, CE databases are used by connecting directly to the file.
Your connection string should look something like:
Dim cnSQL As String = "Data Source=C:\SomeFolder\DataFileName.sdf;Persist Security Info=False"