Witam,
przesiadam się powoli z VB .NET na C#.
Dziś wydarzyła się rzecz której do końca nie potrafię pojąć, mam nadzieje że jesteście w stanie mi to wytłumaczyć.
w zdarzeniu form_load mam takich oto kilka lini:
SqlConnection sc = new SqlConnection("workstation id=(local);packet size=4096;user id=sa;data source='(local)\\Instance';persist security info=True;initial catalog=database;user=sa;password=");
DataTable TabSlWplaty = new DataTable("TabSlWplaty");
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("", sc);
da.SelectCommand.CommandText = "SELECT * FROM sl_wplaty WHERE slwpl_aktywny=1";
da.Fill(TabSlWplaty);
dg.DataSource = TabSlWplaty;
da.SelectCommand.CommandText = "SELEEEECT * FROM TABELA_NIE_ISTNIEJE WHERE slwpl_aktywny=1";
da.Fill(TabSlWplaty);
dg.DataSource = TabSlWplaty;
drugi SELECT jest specjalnie taki pojechany żeby składniowo i semantycznie(taka tabela w bazie nie istnieje) był niepoprawny.
i teraz jestem trochę skołowany.
VB w takim przypadku
1.wyrzuca błąd na lini z drugim Fill-em
C# natomiast:
1.nie rzuca ŻADNEGO błędu
2.pokazuje formę z wypełnionym gridem przez pierwszego SELECTA tak jakby ten drugi kompletnie nie istniał
CO CIEKAWE:
analogiczny kod w zdarzeniu np. button_click generuje błąd i zachowuje się wg mnie poprawnie.
co Wy o tym myślicie?